Linux 文件/文件夹权限管理命令

十年河东,十年河西,莫欺少年穷

学无止境,精益求精

大学毕业后,一直做C#开发,从NetFrm2.0做起,至今快十年了,受微软影响,很少接触Linux。

自netCore推出后,微软也进入了开源、跨平台的行列,且随着docker容器技术及K8S的发展流行,因此学习Linux势在必行了。

俗话说,工欲善其事必先利其器,前段时间,在自己的Win10电脑上,通过VmWare装了二台Linux、Centos7操作系统,一个网页服务器版,一个桌面版。

有了Linux操作系统,就需学会操作该系统,鉴于之前自己是小白一枚,因此只能通过自学来改善薄弱的Linux知识了。

本篇博客记录linux文件权限相关命令,大牛可直接跳过。

umask -S //查看文件/文件夹缺省权限

执行后输出

u=rwx,g=rwx,o=rx

代表:文件/文件夹拥有者具有 读写及执行权限、同组人员具有读写执行权限,其他人具有读和执行权限。对于新建文件而言,Liunx 默认是没有执行权限的,这里的执行权限是相对文件夹而言的。

umask

执行后输出:

0002  --0002

目录的预设权限是: 0777 drwx-rwx-rwx 文件的预设权限是: 0666 -rw-rw-rw

 重点:

执行 umask 输出:0002

执行 umask -S 输出:u=rwx,g=rwx,o=rx

在Linux权限管理中,r=4、w=2、x=1 因此,umask -S 的输出转为数字为:775,我们看作0775

将0775 和 预设权限值0777进行异或运算,如下:

0775

0777

对位异或

7对应二进制:111

5对应二进制:101

对位运算如下:

111,111,101

111,111,111

得到:002

同理,文件权限计算  0666 和 预设权限值进行异或计算,例如你预设文件权限为: 600 【拥有者拥有读写权限,组成员和其他成员无权限】,进行异或得到:

110 ,110 ,110

110, 000 ,000

得到:0,110,110,也就是 0 0 6 6

知道了运算方法,我们就可以使用umask -S 066 设置文件权限.

关于umask更纤细资料,请参考:https://www.cnblogs.com/zhaojiedi1992/p/zhaojiedi_linux_001.html

文件权限相关                                                                                                                                             

我们使用两个角色操作同一目录

 

 一个为普通用户:chenwolong ,一个为root用户

我们使用普通用户创建一个文件夹,并在该文件夹中创建一个文件,执行如下指令

[chenwolong@localhost 桌面]$ mkdir net
[chenwolong@localhost 桌面]$ cd net
[chenwolong@localhost net]$ touch text.txt

切换至root用户,并执行如下

[root@localhost 桌面]# ls -lh
总用量 0
drwx--x--x. 2 chenwolong chenwolong 22 2月  16 22:26 net

我们看到当前目录下有一个文件夹,创建者chenwolong,那么,root账户可以删除这个文件夹吗? 从上述输出可以看到,其他人对该文件夹有执行权限,有执行权限就意味着可以删除该文件夹。

但不能删除文件夹下的文件,因为其他用户对文件只有读的权限。

useradd goupadd chgrp chown

切换用户:su 用户名

useradd goupadd chgrp chown  umask -S [查看新建文件缺省权限]  umask 修改默认权限

useradd 增加用户成员 

groupadd 增加组

chgrp 修改文件/文件夹所属组

chown 修改文件/文件夹拥有者

简单介绍,不喜勿喷

@天才卧龙的博客

posted @ 2022-02-16 15:11  天才卧龙  阅读(1177)  评论(0编辑  收藏  举报