chmod [-R] 777文件或目录 :设置权限(chmod a+rwx a=chmod ugo +rwx a=chmod 777 a)注: r(read)对应4,w(write)对应2,x(execute)执行对应1;-R:递归更改文件属组,就是在更改某个目录文件的属组时,如果加上-R的参数,那么该目录下的所有文件的属组都会更改)chmod [{ugoa}{+-=}{rwx}][文件或目录] :如chmod u-w,g+x,o=r test.txt为user(拥有者)去掉写权限,group(所属组)加上执行权限,other(其他人)权限等于只读;chown [-R] admin:root /opt/ :变更文件及目录的拥有者和所属组(-R递归处理所有文件和文件夹,admin为拥有者,root为所属者)
ls -l fileName
-|rw-r–r--.|1| root| root| 46 |Nov 1 05:03 |fileName
|rw-r--r--.| 1 | root| root| 46 | Nov 1 07:03 |fileName
分段 | 含义 |
---|---|
“-”:文件类型 | - 普通文件 d 目录 c字符设备 s 套接字 p管道 b快设备 l 连接 |
“rw-r–r--”:文件读写权限 | u |
“1” | 对文件:文件内容被系统记录的次数 对目录:目录中文件属性的字节数 |
“root” | 文件所有人 |
“root” | 文件所有组 |
“46” | 文件内容的大小 |
“Nov 1 07:03”: | 文件最后一次被修改的时间 |
“fileName” | 文件名字 |
分段 | 含义 |
---|---|
chown username(用户名) file | 更改文件的所有人 |
chgrp groupname (组名) file | 更改所有组 |
chown -R username dir | 更改目录本身及里面所有内容的所有人 |
chgrp -R groupname dir | 更改目录本身及里面所有内容的所有组 |
rw-|r--|r--
rw- | r– | r– |
---|---|---|
u | g | o |
文件所有人对文件可以读写 | 文件组成员对文件可读 | 其他人对文件可读 |
u优先匹配 | g次优先 | o=u,g不匹配时匹配 |
r | w | x |
---|---|---|
对文件:可以查看文件中的字符 | 对文件:可以更改文件内字符 | 对文件:可以运行文件内记录的程序动作 |
对目录:可以查看目录中文件的信息 | 对目录:可以在目录中添加删除文件 | 对目录:可以进入目录中 |
chmod [-R] <+|-|=>
命令 | 含义 |
---|---|
chmod u-x file1 | file1拥有者去掉x权限 |
chmod g+w file1 | file1拥有组添加w权限 |
chmod u-x,g+w file1 | file1拥有者去掉x权,file1拥有组添加w权限 |
chmod ugo-r file2 | file2的用户组其他人去掉r权限 |
chmod ug+x,o-r file3 | file3用户和组添加x权限,其他人去掉r权限 |
r | w | x |
---|---|---|
4 | 2 | 1 |
rw- | r– | r– |
---|---|---|
u | g | o |
rw-=4+2+0=6 | r–=4+0+0=4 | r–=4+0+0=4 |
所以文件权限表示为644 | chmod 644 file |
chmod 修改后权限值 file
命令 | 含义 |
---|---|
7 | rwx |
6 | rw- |
5 | r-x |
4 | r– |
3 | wx- |
2 | -w- |
1 | –x |
0 | — |
从系统存在角度来说,开放权力越大,系统存在意义越高
从系统安全角度来说,开放权力越少,系统安全性越高
所以系统设定新建文件或目录会去掉一些权限
正常情况下:管理员的umask值是0022,普通用户的umask值是0002。
用户在创建文件或文件目录时,从其默认权限(目录0777,文件0666)中去掉掩码中的权限(root:0022,普通用户:0002)。
文件创建时的权限:(普通用户下)默认权限-umask值=0666-0002=0664(rw-rw-r–)。
[tyson@tysonscloud learnUmask]$ touch test[tyson@tysonscloud learnUmask]$ lltotal 0-rw-rw-r-- 1 tyson tyson 0 Jan 30 10:05 test
umask一般是用在你初始创建一个目录或者文件的时候赋予他们的权限。 这里要说明两点: 1、针对目录来说x权限代表可以进入该目录,所以说对于这个权限初始赋值是没什么问题的; 2、针对文件的x的权限代表执行,这个风险太高,所以一般权限初始赋值必须去掉x的; [root@www ~]# umask 0022 这四个字母代表什么? 首先说明一点,上面四个数字代表是赋值初始化准备丢弃的权限。(相对应文件来说,x权限就算没说明出来丢弃一样必须默认丢弃) 第一个0代表suid 丢弃的权限; 第二个0代表本文件/目录拥有者什么权限都没丢弃(如果是文件,x权限除外,为什么看看上面解释); 第三个2代表本文件/目录的用户组丢弃了w权限(如果是文件那么它的x权限也丢弃); 第三个2代表本文件/目录的其他用户能使用的权限只有有r和x(文件除外)。 综合上面所说如果你新创建一个文件那么它的权限是:-wr-w--w-- 即是:644 如果你新创建一个目录的话那么它的权限是:dwrxw-xw-x 即是:755 如果你要修改unask熟悉直接: [root@www ~]# umask 002 明白了吧!
设置umask值
很多情况下我们需要自定义umask值,这时候也比较简单,只要输入umask +掩码值。
比如,我们希望默认情况下我们创建的一个文件除了用户以外,其他人以及用户组内的成员都不能进行修改。
因而umask的值应该是0022。
umask 0022umask0022touch test && ll test-rw-r--r-- 1 summer summer 0 3月 1 10:46 test
显然创建的文件已经变成了644的权限。在很多情况下,我们是不关注文件的特殊权限的,事实上,如果设定掩码值时候,我们输入的umask值如果不足四位数,那么它就会从后网往前更改原来的掩码值。
如初始umask值为 0002,如果我们输入命令umask 022,那么umask值就会被更改为0022。
如果我们输入命令umask 2,那么umask值就会被更改为0002。
设定方式
umask ##查看系统权限默认umask值为0022
umask 077 ##修改该系统umask为0077,此设定为临时设定,只当前shell中生效
文件权限为:777-umask
vim /etc/bashrc (shell)
vim /etc/profile ##系统
以上两个文件umask设定值必须保持一致
source /etc/bashrc
source /etc/profile
设定立即生效
新闻热点
疑难解答