文件权限管理
文件的权限主要针对三类对象进行定义
owner: 属主, u
group: 属组, g
other: 其他, o
每个文件针对每类访问者都定义了三种权限
r: Readable
w: Writable
x: eXcutable
文件:
r: 可使用文件查看类工具获取其内容
w: 可修改其内容
x: 可以把此文件提请内核启动为一个进程
目录:
r: 可以使用ls查看此目录中文件列表
w: 可在此目录中创建文件,也可删除此目录中的文件
x: 可以使用ls -l查看此目录中文件元数据(须配合r),可以cd进入此目录
X:只给目录x权限,不给文件x权限
文件权限操作
-chmod用来变更文件或目录的权限。在UNIX系统家族里,文件或目录权限的控制分别以读取、写入、执行3种一般权限来区分,另有3种特殊权限可供运用。用户可以使用chmod指令去变更文件与目录的权限,设置方式采用文字或数字代号皆可。符号连接的权限无法变更,如果用户对符号连接修改权限,其改变会作用在被连接的原始文件
语法:chmod [OPTION]... MODE[,MODE]... FILE...
chmod [OPTION]... OCTAL-MODE FILE...
chmod [OPTION]... --reference=RFILE FILE...
文件的三类用户:
u :属主
g :属组
o :其他
a :所有
(1) chmod [OPTION]... MODE[,MODE]... FILE...
MODE表示法:
赋权表示法:直接操作一类用户的所有权限位rwx;
u= chmod u=rwx,g=rw,o=r f01
g=
o=
a=
授权表示法:直接操作一类用户的一个权限位r,w,x;
u+, u- chmod u+x,g+w f01
g+, g-
o+, o-
a+, a-
(2) chmod [OPTION]... OCTAL-MODE FILE..
chmod 764 f01.
(3) chmod [OPTION]... --reference=RFILE FILE...
选项:-R, --recursive:递归修改
注意:用户仅能修改属主为自己的那些文件的权限;
反向掩码:
-umask 命令:文件的权限反向掩码,遮罩码;
文件的权限反向掩码默认为:666-umask
目录的权限反向掩码默认为:777-umask
注意:之所以文件用666去减,表示文件默认不能拥有执行权限;如果减得的结果中有执行权限,则需要将其1;
例:若反向掩码umask为: 023
则创建的文件的权限默认为:666-023=644
创建的目录的权限默认为:777-023=754
umask:查看当前umask
umask MASK: 设置umask
属主、属组管理命令:chown,chgrp
-chown 命令: 改变某个文件或目录的所有者和所属的组,该命令可以向某个用户授权,使该用户变成指定文件的所有者或者改变文件所属的组。用户可以是用户或者是用户D,用户组可以是组名或组id。文件名可以使由空格分开的文件列表,在文件名中可以包含通配符。
语法:chown [OPTION]... [OWNER][:[GROUP]] FILE...
chown [OPTION]... --reference=RFILE FILE...
选项:-R:递归修改
例:chown -R liu /usr/meng #将/usr/meng下的目录及其子目录、文件的所有者改为liu
chown user:market f01 #把文件f01给user,添加到market组
chown :market f01 #把文件f01给user,添加到market组
-chgrp 命令:用来改变文件或目录所属的用户组。该命令用来改变指定文件所属的用户组。其中,组名可以是用户组的id,也可以是用户组的组名。文件名可以 是由空格分开的要改变属组的文件列表,也可以是由通配符描述的文件集合。如果用户不是该文件的文件主或超级用户(root),则不能改变该文件的组。
语法:chgrp [OPTION]... GROUP FILE...
chgrp [OPTION]... --reference=RFILE FILE...
注意:仅管理员可修改文件的属主和属组
参数:-R或——recursive:递归处理,将指令目录下的所有文件及子目录一并处理;
-v或——verbose:显示指令执行过程;
--reference=<参考文件或目录>:把指定文件或目录的所属群组全部设成和参考文件或目录的所属群组相同;
例:chgrp –R market /usr/meng #将/usr/meng及其子目录下的文件的组修改为market
思考:用户对目录有写权限,但对目录下的文件没有写权限时,能否修改此文件内容?能否删除此文件?
回答:不能修改此文件,但能删除此文件