|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
本帖最后由 uperrua 于 2020-4-29 10:44 编辑
6 w5 @. z+ B) I5 {- V. f6 C8 f# ~. k9 e
我们知道文件权限对于一个系统的安全是非常重要的,那么我们如何修改一个文件的属性与权限呢?首先介绍几个常用的用户组、所有者、各种身份呢的权限的修改命令。如下所示:
; D: w/ g2 n1 u7 D( qchgrp:改变文件所属用户组(change group的简称): e: J; E/ l6 n/ v. D# j3 U& @) {
5 P7 ^* p3 D+ P- x; q& ?
chown:改变文件所有者- ^. [3 ? I( Y& w J" y2 k
/ {2 h3 f3 H( H/ {" B" Z" u: echmod:改变文件的权限。0 J0 W" f& d2 f) R& j
6 {0 C7 _0 R3 n. x8 j _下面逐个介绍上面三种常用命令
7 e2 N1 N7 ^! @1 `4 a" S
! ]) s1 r0 L* v3 c- ~ e7 V
& ~8 x( k: c5 l4 H
- m: |0 v) x# ~# c- D" ]1 b5 M& o一、改变所属用户组:chgrp
: P; B9 k8 ]: _0 Q% I/ z
1 s3 t# l U5 |4 l3 ]- L在root身份下登陆linux执行下面命令* {9 ^2 L) I, V4 A' J9 P
) K' _1 l' G& E
[root@localhost ~]# chgrp users install.log4 F j5 k- X+ D/ r: N- z
[root@localhost ~]# ls -l! v" a) a2 c' D
总计 72" Q3 ~3 y" U8 a/ H
-rw------- 1 root root 1688 07-18 23:28 anaconda-ks.cfg
2 z0 Z5 a5 {7 t; ]-rw-r--r-- 1 root users 39162 07-18 23:28 install.log
/ P4 V* X- J0 G% F* h- B
& M1 j& x b1 Q" b* h( p我们会观察到install.log 这个文件所属的用户组原来是root的,现在变为了users这个用户组里面的一个文件。值得注意的一点是,你所改的文件用户组必须要在/etc/group里面存有的用户组,否则会出现错误。* T* @* ?, v. P; p& G! Y( ^5 p. k) u
0 p, D+ \: w" }6 P
' l. \$ s% ~2 Z( N* G$ x U二、改变文件所有者:chown) f, x. {. G) I, |) z+ j
# I+ w* X" Y5 b5 F$ ^6 I* s
在root身份下登陆linux执行下面命令, n$ v. q" F p' u, i0 ^
! I' f0 ^4 d' f a' \[root@localhost ~]# ls -l- i+ p$ J9 }! u/ v8 Q
总计 72
) @6 X4 k8 Y) b-rw------- 1 root root 1688 07-18 23:28 anaconda-ks.cfg
" h# v9 f" |+ N( _1 {. w. H-rw-r--r-- 1 bin users 39162 07-18 23:28 install.log: A m& ~8 s7 ]3 E$ x0 }
我们观察到install.log这个文件所属的所有者原来是root的,现在变为了bin这个所有者拥有。值得注意的一点是,你所改变的文件用户必须是已经存在于系统的账号。5 a2 ~; O6 f0 K5 x. n2 g
. c* A5 g0 w- H5 A7 y[root@localhost ~]# chown root:root install.log# z$ t5 K1 K0 p, p$ ~# s& Q
[root@localhost ~]# ls -l
0 q9 ~ r4 ?9 O总计 72
d/ V4 @6 U+ S5 H1 r, \* a) Q-rw------- 1 root root 1688 07-18 23:28 anaconda-ks.cfg" Z0 ^' C7 l+ t% z
-rw-r--r-- 1 root root 39162 07-18 23:28 install.log; E4 p) h* h; g6 a0 ]% W2 V, D# R
上面的命令,将instal.log的所有者与用户组改回为root
! h6 J2 c! H$ b$ d" x* ?+ n9 g, r. a
/ f- A+ L" b( g5 y2 p1 O7 L( g6 C9 R: a
$ A% {6 A- o, k4 k9 @$ l- ~1 r' l三、修改文件属性:chmod
2 Q$ o+ r2 r3 n2 M. a) K9 ^: i
2 w8 M- T3 e I' U很多时候需要修改文件的属性才能很好的登陆访问某个文件或者限制他人登陆访问甚至修改文件,这里就可以看出linux下的文件属性是有多么的重要了。该变文件的属性有二种方法:
7 P: X8 { V+ B+ g F- A4 q" h' ^9 N7 W: u
①数字类型改变文件权限
! a$ i6 [6 w9 |( `$ r5 y* H0 n* C. q- G( z4 w8 l& @! `
Linux文件的基本权限有9个,分别是Owner Group Others三种身份各有自己的r w x权限,其中,我们可以用数字来代表各个权限。
' P! F7 j& d4 n6 Y- m. B" q! v5 @1 |
# L6 w" }& @* Z& p& {r:42 L) \' M. J0 H7 d2 N; u
6 ~: z# v& I O$ O6 b3 |w:2# {" X k; g; Q1 J
! D* e6 j8 {( G& G/ E
x:1
% t$ Q* N2 Z5 J8 M
& l8 K( X' W b- c当权限为[-rwxrwx---] 分数在是:" r A+ \8 n+ Z
9 q2 x0 }2 v! q q7 A9 }. V
owner = rwx =4+2+1 = 71 L4 I, T7 J( m5 F; p
. \8 H$ p: h: d9 k4 j0 ggroup = rwx = 4+2+1 = 7% f3 \% B- \( O8 r+ U7 X" T
9 d6 Q# c% `/ [: J2 V. s
others = --- = 0+0+0= 0
6 B9 w3 |* Z5 y5 D; q5 ~
* o5 Y: L" B6 I! l. h3 u所以我们要设置权限更改时,该文件权限数字就是770,更改权限的命令举例如下
* a' w( N1 e1 l1 ?) c. _8 O/ y/ t* J
[root@localhost ~]# ls -al .bashrc
5 V( r7 K9 t6 o1 i3 }1 ?! t5 ^-rw-rw-rw- 1 root root 176 2006-07-13 .bashrc9 o- U. C5 l$ y; O: ?
[root@localhost ~]# chmod 777 .bashrc
$ g) C$ W0 G/ j; c- E[root@localhost ~]# ls -al .bashrc
1 d' W9 e; }1 Y* H. X/ `/ S-rwxrwxrwx 1 root root 176 2006-07-13 .bashrc
6 X! u5 N* p3 y' ^- ^2 S! f8 \7 ~# ~5 N& E/ P: u6 ~: ?
这样我们就把.bashrc这个文件的权限由rw-rw-rw- 改为了rwxrwxrwx 就是这么简单4 G4 l8 y9 l1 J1 [' t/ Y0 q. f4 q
0 ?8 P+ u s8 }2 w( ]4 v. i4 z' d②符号类型改变文件权限
}6 G2 ~+ m5 Q, \( a( b+ r2 f; D3 d6 E+ P! n9 `& a& i# v
我们通过u g o a四种身份修改权限,其中+ - =分别代表:加入、除去、设置/ @" F T h: {7 \- V) a
& R- A5 R; t$ q假如我们将 .bashrc这个文件权限改为 "-rwxr-xr-x"如下所示
" i& a# w5 J( O) L d$ u& D, C3 q+ @, C" h
[root@localhost ~]# ls -al .bashrc$ C5 u# X' z% k0 ~& ] S
-rwxrwxrwx 1 root root 176 2006-07-13 .bashrc+ M/ e8 o$ `+ C) w' \
[root@localhost ~]# chmod u=rwx,go=rx .bashrc
# D4 n: M6 ?0 x8 k& Q[root@localhost ~]# ls -al .bashrc
' `6 e" m& {( S/ I-rwxr-xr-x 1 root root 176 2006-07-13 .bashrc
: n& i9 O- v4 O4 x其中,u=rwx,go=rx分别代表,user、group、others的权限分别设置为【可读、可写、可执行】、【可读、不可写、可执行】、【可读、不可写、可执行】
) `$ B! C/ ?: u, u" p' a7 l" H) E' O8 X0 c& ^1 o( u
当我们想增加.bashrc这个文件的每个人均可写入的权限,我们就使用
. l9 G5 t3 R" U- |7 M" }9 a
& R% ]! A, o8 w. {( O[root@localhost ~]# ls -al .bashrc
- x4 S' s' P% ?3 _$ N/ ?3 A0 Z- \4 t-rwxr-xr-x 1 root root 176 2006-07-13 .bashrc6 G1 H' L* d% q1 F
[root@localhost ~]# chmod a+w .bashrc
# C7 u; D" g5 ~, t/ i[root@localhost ~]# ls -al .bashrc) o3 N* P1 ~8 q' ^
-rwxrwxrwx 1 root root 176 2006-07-13 .bashrc0 C% O$ I1 N+ f, b- X$ B9 }
- O7 E; J* p. M如果我们想将权限去掉而不更改其他属性,我们就使用; N% o, F3 B3 p* }" S. M$ |% s) Z
) [6 h' ?# i# r9 p) B4 r' x' I: i[root@localhost ~]# ls -al .bashrc8 I* A7 N( H8 u# M8 x3 Y5 c
-rwxrwxrwx 1 root root 176 2006-07-13 .bashrc
. S' |% }3 A! a+ {/ P[root@localhost ~]# chmod a-x .bashrc
9 p# ?6 V: I3 t X, E. C[root@localhost ~]# ls -al .bashrc
% r0 }6 a4 L, r% Q/ \0 L \-rw-rw-rw- 1 root root 176 2006-07-13 .bashrc. I( f$ L) \7 L/ g, m7 G0 g8 J
* \" k( L* M$ ?8 I# k' s
/ l. _" f# j& c7 c
|
|