chown,chgrp,chmod,u+s,g+s,o+t


chown [user] [file/directory]

change owner 將后面的目標文件或者目錄的所有者替換成[user]

chgrp [group] [file/directory]

change group 將目標文件或者目錄的所有組替換成[group]

chmod +/-[rwx] [file/directory]

將目標文件或者目錄的所有者(與當前登陸用戶一致時)增加/去掉可讀(r)可寫(w)可執行(x)權限,更改非本用戶文件時需要sudo

chmod 777 [file/directory]

直接更改目標文件的所有者(第一個數字所對應),所有組用戶(第二個數字對應),其他組用戶(第三個數字對應)的rwx權限

r=4,w=2,x=1,     各種組合相加出現8種狀態(0-7)

三種命令都支持 -R 遞歸處理目錄下的所有文件/目錄

 

chmod u+s [file/dir]

s(強制位)權限對應的位置是x,表示當某一個用戶調用這個可執行文件時暫時擁有該文件的擁有者權限,一般u+s針對可執行文件(命令)

例子(用vim編輯/etc/passwd)

which vim會顯示vim命令的文件所在的位置是/usr/bin/vim

注意這個文件的權限是-rwxr-xr-x. 1 root root 2289600 Jan 30  2014 /usr/bin/vim

然后用一個普通用戶嘗試vim /etc/passwd更改一些內容后保存退出

報錯之后用wq!推出之后文件無法被修改

使用chmod u+s /usr/bin/vim命令之后

vim文件的權限被更改成-rwsr-xr-x. 1 root root 2289600 Jan 30  2014 /usr/bin/vim

這時再用普通用戶修改vim /etc/passwd

是可以wq!的,因為普通用戶在調用vim命令的一瞬間獲得了vim所屬用戶root的權限

注意s的用處不僅僅是提升權限,同樣可以降低權限(自己寫得shell腳本)

 

chmod g+s [dir]

給一個目錄的所屬組添加一個s的權限的作用是不管是哪個用戶在這個目錄下創建文件或者文件夾,文件或者文件夾的組都不屬於創建用戶所在的主組,而是屬於有g+s的目錄的主組

例子

root身份下新建一個目錄:mkdir /a1

添加一個新的組:groupadd aaa

創建一個主組為aaa的用戶bbb:useradd -g aaa bbb

將目錄/a1的所有者和所有組改為bbb aaa:chown bbb:aaa /a1

查看一下/a1的狀態:ll -d /a1

 

在/a1中創建一個文件aa1:touch /a1/aa1

ll查看aa1的所屬用戶和組都是root

給/a1目錄的所屬組權限加上s:chmod g+s /a1

再查看一下/a1的狀態:ll -d /a1

此時用root用戶在/a1下創建的文件夾和文件的組都會變成aaa而不是遵循系統的規定

 

chmod o+t [dir]

一般用於一個公共的目錄o+rwx,設置完之后公共目錄下的各用戶自己創建的文件其他人無法管理,只有用戶自己可以管理.(root除外)

 

同時這三種權限模式也可以用數字表示,加在rws前面一位即可

 u+s=4,g+s=2,o+t=1

除了這三種還有多種權限模式

1是o+t  2是g+s  3是o+t和g+s  4是u+s  5是u+s和o+t  6是u+s和g+s  7是同時擁有三種狀態

例子

一個文件的權限是-rwsr-xr-x

chmod 4755 file

一個文件夾的權限是drwxr-srwt

chmod 3757 dir


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM