Linux学习笔记文件和目录权限chmod更改所有者和所属组chownumask隐藏权限

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux学习笔记文件和目录权限chmod更改所有者和所属组chownumask隐藏权限相关的知识,希望对你有一定的参考价值。

一、chmod

chmod 命令用于修改文件或者文件夹的权限,

之前学习过

ls -l

技术分享图片
如图,第一位-之前已经学习过,代指这是一个文本
之后的 rw-r--r--是文件的权限
前三位rw-是文件所有者的权限
中间三位r-- 是文件所属组的权限
后三位r--是其他用户的权限
文件的权限有三种:
r(Read,读取):对文件而言,具有读取文件内容的权限;对目录来说,具有浏览目录的权限。
w(Write,写入):对文件而言,具有新增,修改,删除文件内容的权限;对目录来说,具有新建,删除,修改,移动目录内文件的权限。
x(eXecute,执行):对文件而言,具有执行文件的权限;对目录来说该用户具有进入目录的权限。
权限拥有权限值,r=4 ,w=2 ,x=1,
上图中rw-r--r-- 就可以用644表示
将此文件的权限修改为700

chmod 700  /tmp/chen1/123.txt

然后

ls -l /tmp/chen1/

技术分享图片
可以发现123.txt的权限变成了rwx------
也可以使用

chmod  g+r,o+w /tmp/chen1/123.txt

此时文件权限变为rwxr---w- 即742
技术分享图片
g就是group用户组
o就是other其他用户,
还有个u是指文件所有者,这种方法可以明确的修改文件的权限,比起用权限值修改略麻烦;
接下来修改文件夹的权限
技术分享图片

ls -ld /tmp/chen1/

文件权限为rwxr-xr-x 755

chmod 700 /tmp/chen1/
ls -l /tmp/chen1/

技术分享图片
可以发现123.txt文件权限并没有改变,也就是说chmod命令只是修改了文件夹本身的权限,并没有修改文件夹内部文件的权限
如果要修改文件夹和文件夹内部文件的权限,则使用下面的命令

chmod -R 741 /tmp/chen1/

可以发现文件夹/tmp/chen1/与文件/tmp/chen1/123.txt的权限都变为了741;

二、chown

change owner 修改文件所属用户

cat /etc/passwd

技术分享图片
可以看到最后两个是我之前增加的用户chen1和user1
接着我来修改文件/tmp/chen1/123.txt的用户

ls -l /tmp/chen1/123.txt

技术分享图片
可以看到文件的用户和用户组都是root
修改所属用户

chown chen1 /tmp/chen1/123.txt

技术分享图片
查看

ls -l /tmp/chen1/123.txt

修改所属组

chgrp user1 /tmp/chen1/123.txt

查看

ls -l /tmp/chen1/123.txt

也可以使用

chown user1:chen1  /tmp/chen1/123.txt

同时修改用户组和用户,用冒号分隔即可,

ls -l /tmp/chen1/123.txt

单独修改用户组也可以

chown :user1  /tmp/chen1/123.txt

技术分享图片

三、umask

umask 用来改变新建文件和新建文件夹的默认权限

文件夹默认所有的权限值777,文件666
技术分享图片
umask 默认为0022
umask 第一位的0可以先省略
所以新建文件夹默认权限为 777-022 = 755
新建文本默认权限为 666-002=644 ;
如果将umask修改为0003

umask 0003

则新创建的文件夹权限变为 777-003=774
而新建文本权限为 664 而并不是663
这是因为,文本所有权限为664(rw-rw-rw-) 003 (-------wx)
由于664权限中已经没有x权限,所以现在权限为(rw-rw-rw-)- (-------wx) =(rw-rw-r--)

四、chattr

特殊权限

使用
man chattr 可以查看具体用法

chattr +i /tmp/chen1/123.txt

技术分享图片
则文件/tmp/chen1/123.txt无法修改、删除
使用

lsattr /tmp/chen1/123.txt 

可以看到有i权限

chattr -i /tmp/chen1/123.txt 

就可以删除i权限;

chattr +a /tmp/chen1/123.txt

技术分享图片
则文件/tmp/chen1/123.txt只可以追加,无法进行删除等其他操作

chattr -a /tmp/chen1/123.txt  

删除a权限;
当文件夹拥有i权限或者a权限时,可以修改文件夹内已经存在的文件的内容,但是不可以删除文件,当拥有a权限时,文件夹内还可以新增文件;

lsattr -R /tmp/chen1/
可以查看文件内所有子文件及文件夹的隐藏权限。

以上是关于Linux学习笔记文件和目录权限chmod更改所有者和所属组chownumask隐藏权限的主要内容,如果未能解决你的问题,请参考以下文章

linux文件权限命令chmod学习

Linux学习笔记第二周第三次课(1月31日)

Linux笔记 - 权限管理

Linux文件和目录权限:chmod更改所有者和所属组:chown,umask命令,隐藏权限:lsattr/chattr

Linux学习笔记

八文件权限和目录权限chmod;更改所有者和所属组chown;umask;隐藏权限