十年河東,十年河西,莫欺少年窮
學無止境,精益求精
大學畢業后,一直做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 修改文件/文件夾擁有者
簡單介紹,不喜勿噴
@天才卧龍的博客