2.14 文件和目录权限chmod
文件权限
前面的学习中我们知道,第一位表示文件类型,其后的九位是权限,为三段,分别为
rwx --- ---
用户 组 其他
第一段为用户权限,第二段为用户组权限,第三段为其他*限
其中 r表示可读 w表示可写 x表示可执行 -表示无权限
权限又可以用数字表示 r=4 w=2 x=1
例如:rwx=7 wx=3 rwx-w-r-x=715
另外:权限后面的"."表示文件受制于SELinux
chmod命令
chmod是更改权限的命令
#chmod 700 1.txt
例如:1.txt的权限为000,我们把它改为rwx --- ---
#chmod -R 文件或目录 进行递归的持续更改,即连同子目录和下面的文件都更改
# ll /test //查看test文件夹
总用量 0
-rw-r--r--. 1 root root 0 3月 29 02:18 1.txt //1.txt的权限为644
# chmod -R 700 /test/ //递归性修改test文件夹
# ll /test
总用量 0
-rwx------. 1 root root 0 3月 29 02:18 1.txt //1.txt权限变为700
# ls -ld /test
drwx------. 2 root root 19 3月 29 02:18 /test //test文件夹权限为700
另外还可以这样修改权限
a.修改test文件夹的权限为rw---xr-x
# chmod u=rw,g=x,o=xr /test
# ls -ld /test
drw---xr-x. 2 root root 19 3月 29 02:18 /test
b. 给所有用户加上w权限
#chmod a+x /test //a表示all 即所有用户
#ls -ld /test/
drw--wxrwx. 2 root root 19 3月 29 02:18 /test/
同样也可以给所有用户减去w权限
# chmod a-w /test
# ls -ld /test/
dr----xr-x. 2 root root 19 3月 29 02:18 /test/
同样用法的还有 u (用户), g(用户组),o(其他用户)
例如:u+x g-w o+r
2.15 更改所有者和所属组chown
chown
是change owner的缩写用法1: chown 用户 文件
# chown xmlinux /test/1.txt# ls -l /test/1.txt
-rwx------. 1 xmlinux root 0 3月 29 02:18 /test/1.txt
用法2:chown 用户:组 文件
同时修改用户和组#chown root:user1 /test/1.txt
# ls -l /test/1.txt
-rwx------. 1 root user1 0 3月 29 02:18 /test/1.txt
也可以只修改用户或组
#chown :root /test/1.txt
# ls -l !$
ls -l /test/1.txt
-rwx------. 1 root root 0 3月 29 02:18 /test/1.txt
chgrp 修改组
用法:chgrp 组名 文件#chgrp user1 /test/1.txt
# ls -l /test/1.txt
-rwx------. 1 xmlinux user1 0 3月 29 02:18 /test/1.txt
2.16 umask
umask就是 指定目前用户在新建文件或目录时候的权限默认值查看umask
# umask
0022 //第一个0暂时不管,后面3位才是权限值
修改umask
#umask 002
系统默认创建的文件的权限为666,文件夹的权限为777
而实际创建文件(夹)的权限=系统默认权限-umask
所以umask=022 则创建的文件权限=644 文件夹权限=755
例如:创建文件
# touch /1.txt
# ls -l /1.txt
-rw-r--r--. 1 root root 0 3月 29 04:11 /1.txt
创建目录:
# mkdir /test1
# ls -ld /test1
drwxr-xr-x. 2 root root 6 3月 29 04:12 /test1
注意:这并不是数字相减得来的
例如:umask=003
则实际创建的文件权限=rw-rw-rw- 减去-------wx=rw-rw-r--=664
而不是数字相减得来的663
2.17 隐藏权限lsattrattr
chattr设置隐藏权限,主要的有i和a
i权限可以让文件不能被更改
a权限可以让文件可以增加但不能删除,不能修改旧有的数据
给一个文件增加i权限
#chattr +i 1.txt
查看一个文件的隐藏权限
# lsattr 1.txt
----i----------- 1.txt
对文件夹增加特殊权限i时,不能增加、删除或修改文件,文件夹内的文件内容是可以修改的,
对test文件夹增加i权限后,是可以修改1.txt中的内容的
a权限
对文件设置a权限
#chattr +a 1.txt
对文件夹设置a权限时,是可以在文件夹内增加新文件的,也可以修改文件内容,但不可以修改文件名
lsattr -R 文件夹 连同子目录的数据一并显示出来
lsattr -a 文件夹 将隐藏文件也显示出来
lsattr -d 文件夹 查看文件本身的隐藏权限