1. chmod 命令 修改文件或目录权限
#chmod [] 权限模式 文件名
选项
- -R:递归设置权限,给子目录中的所有文件设置权限
权限模式
chmod 命令的权限模式的格式是"[ugoa] [[+-=] [perms]]",也就是"[用户身份][[赋予方式][权限]]"的格式。
用户身份:
- -u:代表所有者(user)。
- -g:代表所属组(group)。
- -o:代也人(other)。
- -a:代表全部身份(all)。
赋予方式:
- -+:加入权限。
- --:减去权限。
- -=:设置权限。
权限:
- -r:读取权限(read)。
- -w:写权限(write)。
- -x:执行权限(execute)。
eg:
#chmod u+x,g+w,o+w movie //给所有者加执行权限,给所属组加写权限,给其他人家写权限
#chmod u-x,g-w,o-w movie //给所有者去除执行权限,给所属组去掉写权限,给其他人渠道写权限
#chmod u=rwx,g=rx,o=r //给所有者赋读写执行权限,给所属组赋读执行权限,给其他人赋读权限
数字权限
- 4:代表"r"权限。
- 2:代表"w"权限。
- 1:代表"x"权限。
5代表“4+1”,也就是读、写权限;
7代表“4+2+1”,也就是读、写、执行权限;
644:这是文件的基本权限,代表所有者拥有读、写权限,而所属组和其他人拥有只读权限。
755:这是文件的执行权限和目录的基本权限,代表所有者拥有读、写和执行权限,而所属组和其他 人拥有读和执行权限。
777:这是最大权限。在实际的生产服务器中,要尽力避免给文件或目录赋予这样的权限,这会造成一定的安全隐患。
eg: chmod 755 movie
2. chown 命令 修改文件和目录的所有者和所属组
# chown [选项] 所有者:所属组 文件或目录
选项:
-R :递归设置权限
#touch lange //建立lange文件
# chown user lange //将lange文件的所有者改为user
# chown user:user lange //将lange文件的所有者和所属组改为user和user组
// “:” 之前是文件所有者,之后是所属组。这里的“:”也可以改为 “.” 代替。
3.chgrp 命令 修改文件和目录的所属组
# touch test
#chgrp user test //将文件所testf属组改为user
# ll testf
-rw-r--r--. 1 root user 0 Dec 7 16:59 testf
4.umask 命令 令新建文件和目录拥有默认权限
#umask
0022 //umask 值为0022 , 只看后三位,
#umask -S
u=rwx,g=rx,o=rx //-s 表示用字母表示文件和目录的初始权限
umask默认权限的计算方法
- 新建文件的默认最大权限是666,没有执行(x)权限
- 新建目录的默认最大权限是777
默认权限 = 默认最大权限 - umask (umask的值为022)
文件默认权限计算: 666 - 022 = 644, 666:rw-rw-rw ; 022:----w--w- 644: rw-r--r-- (执行权限"x"不参加计算)
例如 umask = 033
666 - 033 = 644 , 666:rw-rw-rw- ; 033: ----wx-wx 644: rw-r--r--
目录默认权限计算: 777 - 022 = 755, 777:rwxrwxrwx ; 022:----w--w- ; 755:rwxr-xr-x