chmod命令用于改变用户对文件/目录的读、写、执行权限,它是 change mode的简写。
格式:chmod -R xyz 文件名 xyz表示数字
我们用ls -l命令查看文件信息时,列出的第一段有十个字符,从第二个开始就是文件的权限。
r代表读权限 w代表写权限,x代表执行权限。
在linux里一般使用数字代替rwx,具体规则为:r=4,w=2,x=1,-=0.
每一个文件分为三段,第一段用户权限,第二段代表所属组权限,第三段代表其他权限
-R 把目录以及目录下的子目录以及文件批量更改
rwx=4+2+1=7
一个目录的默认权限755
一个文件的默认权限为 644。
如果你创建了一个目录,但不想其他人看到里面的内容只需要将权限设置为740,也就是rwxr----- 。
chmod也支持用rwx的方式去设置权限,我们可以用u代表用户(user)权限,g代表所属组(group)权限,o代表其他(others)权限,还有a代表全部 ,格式为:【chmod u=rwx,g=rwx,o=rwx 文件名】
我们也可以用这个格式:chmod u-x 文件名 将文件用户减掉执行权限
命令chown更改文件或目录的所有者和 所属组
格式为:chown username:group filename
chown有一个-R选项只能用于目录,它的作用是更改当前目录,并且目录里的目录或文件也一起更改。
也可以只更改所属组只需要在上面的命令中不输入用户名,更改所属组也可以用命令chgrp。
umask用于改变文件或目录的默认权限。umask预设的值为0022, 如果用户建立普通文件,这预设没有可执行权限,只有r、w权限,最大的值是666。如果用户建立目录,这预设的权限都开放,权限的值为777。 umask数值代表的含义是以上两个数要减掉的权限。最大值-umask值就是文件或目录的权限,但我们用数字去减 会有一些错误。我们也可以更改umask的值,之后我们创建的文件和目录的默认权限就会改变。
chattr命令是设置隐藏权限
chattr +i 增加该属性后,文件不能删除、重命名、设定链接、写入以及新增内容。即使显示的权限是可以读写,但进入文件也无法操作成功。要想解除这个权限要执行命令: chattr -i 文件名 。
chattr +a 增加这个属性后,只能追加不能删除,不是root用户不能设定这个属性。
要想查看文件的特殊权限要用命令lsattr ,它有几个常用选项
-d查看目录本身的权限
-R连同子目录的数据一起列出来
-a选项是把隐藏的文件也一起列出来