1、文件或目录权限
通过ls -l命令查看文件或目录,第一列中,除第一位表示文件类型,后9位分别表示文件的权限,其中前三位为所有者的权限(可读、可写、可执行),中间三位表示所属组的权限,后三位表示其他用户对文件的权限,权限可以用数字表示,r=4、w=2、x=1,权限后的“.”表示该文件受制于selinux,如果selinux开启,则这些文件第一列最后会有“.”,如果selinux关闭,文件权限的最后不会有“.”。
chmod:change mode更改权限
执行“chmod”命令,默认只会对目录或文件本身进行更改,如果执行“chmod -R”会对目录及目录下的所有目录和文件进行更改:
执行“chmod u=rwx,g=r,o=r”也可以直接对文件或目录权限进行修改:
执行“chmod a+x”会将属主、属组以及其他用户的权限都增加可执行权限,可读、可写权限类似,可以使用a-x,u+x,g+x,o+x等操作:
2、更改所有者和所属组
chown:change owner更改所有者或所属组
可以通过cat /etc/passwd查看有哪些用户:
通过chown命令更改所有者:
通过chgrp命令更改所属组:
可以通过chown命令更改所有者和所属组:
可以通过chown -R命令,修改目录及目录下的文件和子目录的所有者和所属组:
3、umask
umask:用了确定默认目录和文件的权限
运行umask可以查看用户的umask值:
通过umask命令可以修改用户的umask值:
目录必须有x权限,否则目录无法打开,目录的默认权限为(rwxrwxrwx)-umask
文件默认无x权限,文件的默认权限为(rw-rw-rw-)-umask
4、隐藏权限
ls -l无法查看文件或文件夹隐藏权限
可以通过chattr设置隐藏权限:
执行chattr +i,文件增加i权限,无法对文件进行修改、、追加移动、重命名、删除等操作,也无法执行touch命令(touch会导致文件时间更改),可以通过chattr -i取消i权限
执行chattr +a命令,只可以对文件进行追加,无法进行删除、修改、重命名、移动等操作,但是可以执行touch操作
使用lsattr查看隐藏权限,默认无隐藏权限:
lsattr默认查看目录下的子目录和子文件:
可以通过lsattr -d来查看目录本身的隐藏权限:
文件夹加上i或a权限,可以修改文件夹下已存在的文件:
执行命令lsattr -R,可以查看文件夹下的文件和子目录,以及子目录下的文件或目录的权限: