十年河东,十年河西,莫欺少年穷
学无止境,精益求精
大学毕业后,一直做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 修改文件/文件夹拥有者
简单介绍,不喜勿喷
@天才卧龙的博客