chmod 修改文件权限指令
使用权限 : 只有文件的属主或者root系统管理员才能改变权限。
-R : 对目前目录下的所有档案与子目录进行相同的权限变更(即以递回的方式逐个变更)
使用方式 : chmod [-cfvR] [--help] [--version] mode file...
说明 : Linux/Unix 的档案调用权限分为三级 : 档案拥有者、群组、其他。利用 chmod 可以藉以控制档案如何被他人所调用。
参数 :
mode : 权限设定字串,格式如下 : [ugoa...][[+-=][rwxX]...][,...],其中
u 表示该档案的拥有者,g 表示与该档案的拥有者属于同一个群体(group)者,o 表示其他以外的人,a 表示这三者皆是。
+ 表示增加权限、- 表示取消权限、= 表示唯一设定权限。
r 表示可读取,w 表示可写入,x 表示可执行,X 表示只有当该档案是个子目录或者该档案已经被设定过为可执行。
-c : 若该档案权限确实已经更改,才显示其更改动作
-f : 若该档案权限无法被更改也不要显示错误讯息
-v : 显示权限变更的详细资料
-R : 对目前目录下的所有档案与子目录进行相同的权限变更(即以递回的方式逐个变更)
--help : 显示辅助说明
--version : 显示版本
访问控制列表:访问控制列表 lsacl
umask - 文件权限掩码:
linux提供了一个方便的工具umask,可以用来设置文件的默认掩码。
文件的默认权限就是umask设置的掩码和系统中默认的最大权限码做异或运算,其结果就是文件的默认权限。
语法:
umask [选项] [权限掩码]
-S 以字符的方式来表示权限掩码
例:
一、设置文件的权限掩码,使文件自动生成默认权限为rw-rw----
rw-rw----对应的数字就是660, 其实每一位用三位2进制来表示,所以3位二进制组成十进制数就得出660,由于要生成的文件默认权限改变,其权限掩码值为:666-660=006
linux@server:~$ umask 006
linux@server:~$ touch abc
linux@server:~$ ll abc
-rw-rw---- 1 linux linux 0 2010-12-11 21:44 abc
umask 777
#创建文件会没有任何权限,他和chmod是相反的。
umask 000
#具有所有权限。但文件没有x权限。
注意:
对于文件的执行权限(即X权限)使用umask命令是无法使其起作用的,系统强制关闭文件的X默认执行权限,只能通过chmod修改
umask只对当前shell环境起作用。
将umask值保存到环境文件
(所有用户):
(所有用户):
如果使用bash可以更改/etc/bashrc文件中的umask,如果使用csh,可以更改/etc/csh.cshrc 或者可以把它写进/etc/profile
(当前用户):
如果使用bash可以更改~/bashrc文件中的umask,如果使用csh,可以更改~/csh.cshrc或~/.profile中