⑴ linux許可權設置
1
1.給主人添加讀許可權,並減去執行許可權:chmod u+r,u-x filename
2.給所有用戶(主人、同組用戶、其他組用戶)都添加寫許可權,並減去執行許可權:chmod +w,-x filename
3.給主人添加讀和執行許可權:chmod u+rx filename
4.給同組用戶減去寫和執行許可權:chmod g-wx filename
2
1.可以一次為多種用戶設置許可權,比如主人、同組用戶、其他組用戶
2.具體許可權(rwx)可以一次設置一個或多個
3.增加、減少許可權需要分別設置,這樣寫是錯誤的:chmod u+r-w filename,應該這樣寫:chmod u+r,u-w filename
4.可以統一為各種用戶設置統一許可權
5.普通用戶只能給自己「家目錄」的文件設置許可權,不能設置其他用戶所在「家目錄」文件的許可權
3
各許可權對應的數字:讀——4,寫——2,執行——10:沒有許可權1:執行許可權2:寫許可權3:執行、寫許可權4:讀許可權5:執行、讀許可權6:寫、讀許可權7:執行、寫、讀許可權
語法格式:chmod ABC filename
ABC是三個數字,分別表示主人、同組用戶、其他組用戶的許可權
chmod 642 filename表示主人對該文件有讀、寫許可權,同組用戶對該文件有讀許可權,其他組用戶對該文件有寫許可權
⑵ Linux文件許可權一:普通許可權(rwx)
一、查看文件的普通許可權
1.ls -l [file | dir],查看一個文件或者目錄內部所有文件的許可權
2.ls -ld dir,查看一個目錄本身的許可權
二、rwx許可權的含義
三、普通許可權的設置
四、修改user或者group
五、
六、命令與雜談
進入需查看子級許可權目錄,ls -lh查看所有許可權 rwx代表著許可權,如圖代表 777 對應三個群體,自己 所在組 其他
而如果需要修改 則進入文件夾 輸入 chmod -R 777 則可把所在文件夾所有文件以遞歸方式進行修改許可權
七、 其他
1.mac可在終端 輸入> ssh [email protected](輸入你遠程伺服器的IP地址可進行遠程操作)
root表示以root用戶進入,如果要使用其他用戶則對應替換即可)
2.然後輸入伺服器密碼
3.成功進入,如我的輸出Welcome to Alibaba Cloud Elastic Compute Service !
遠程式控制制tomcat開關重啟
1.登錄成功後在命令行 cd /user/tomcat/apache-tomcat-7.0.90/bin/ 目錄下
2.啟動tomcat,命令行 sh startup.sh
3.關閉tomcat,命令行 sh shutdown.sh
⑶ linux怎麼獲取root許可權
1、獲取root許可權linux系統都是一樣的,這里以ubuntu為例,用組合鍵Ctrl+Alt+T打開一個新的終端程序:
⑷ linux文件內部許可權全部打開
文件的類型不同,許可權就有所不同,雖然每個文件的許可權都是 777,但在創建一個文件時,並沒有看到該文件的許可權是777,這是由於掩碼的作用使得某些許可權被屏蔽。
對於每個文件,其都由不同的信息組成,如圖所示,這是我們之前創建的一個名為CAT1的空文件,該文件的詳細信息如下所示。
文本文件與目錄文件的區別就在於第一個描述符不同,目錄則以「d」為描述符。如圖所示,這是之前所創建的一個名為CAT的目錄,該目錄的詳細信息及相關介紹如下所示。
使用帶有-l選項的ls命令,可從許可字元串的首字母來識別所列出每個文件的類型,以下是幾個常見的標識號。
●-:一般文件(硬鏈接)。
● l:符號鏈接(軟鏈接,可使用帶有-s選項的ln命令來創建一個軟鏈接)。
● d:目錄。
● c:字元設備文件。
● p:命名管道。
● s:套接字。
● b:塊設備特殊文件。
2.文件許可權管理
從剛創建的CAT1文件中看到,該文件雖是cat用戶創建的,但cat用戶對該文件並沒有可執行許可權。現在要為CAT1添加可執行權(x),將這項任務交給chmod命令就可以。使用chmod命令也非常簡單,如下所示,為cat用戶添加對CAT1文件的可執行權。
[cat@cat ~]$ chmod u+x CAT1
通過以上操作後,cat用戶擁有了對CAT1文件的可執行權。當然,要添加其他許可權的操作也差不多,也可以使用「chmod+rwx 文件名」來授權。感興趣的讀者可以試試,這里只講方法,可以通過這種方法來進行練習,以便更好地掌握。
如果對CAT目錄下的目錄同時授予可執行權,則可以使用帶有-R選項的Chmod命令進行操作,其格式如下:
chmod–R 目錄名1/目錄名2
其中目錄2是目錄1的子目錄,即在目錄1下創建目錄2。
使用-R選項,可遞歸地授予各種許可權。
接下來講解取消某個用戶(或用戶組)擁有該文件的許可權,使用的命令還是chmod,如下所示,取消cat用戶對文件CAT1擁有的可執行權。
[cat@cat ~]$ chmod u-x CAT1
根據文件許可權數值,4代表可讀,2代表可寫,而1則代表可執行,並且許可權數值存在時以1表示,否則就用0來表示(實際上就是用二進制的方式來表示),就可以對於某個文件或目錄中的許可權數值計算。如圖所示,計算名為CAT1文件的許可權值。
若需要對該文件授予許可權,也可使用「chmod 664 CAT1」的形式來為用戶授權。
有時為了方便,把文件的擁有權授予其他人,可以使用chown來改變文件的擁有者,下面演示將cat用戶的CAT1文件轉給dog用戶,先切換到root用戶,然後才可以執行。由於CAT1文件在cat用戶的主目錄下,因此使用/home/CAT1。
⑸ Linux文件目錄許可權
Linux中文件目錄的許可權分為三個群組, 擁有者 、 所在群組 、 其他組 ,每個群組可以單獨設置 讀 、 寫 、 執行 三種許可權。
一般用3位數字表示,如:777,644,640等
數字的意義就是讀寫執行三個數字相加得來
解析:
777:所有用戶都有讀、寫、執行許可權
644:只有擁有者有讀寫許可權;而屬組用戶和其他用戶只有讀許可權
640:只有擁有者有讀寫許可權;而屬組用戶只有讀,其他用戶無許可權
修改許可權命令
用符號操作許可權
⑹ Linux許可權管理基本知識
Linux許可權管理基本知識大全
Linux系統有什麼基本許可權,許可權管理命令是什麼?下面跟我一起來看看吧!
一、基本許可權
linux許可權機制採用UGO模式。其中 u(user)表示所屬用戶、g(group)表示所屬組、o(other)表示除了所屬用戶、所屬組之外的情況。
u、g、o 都有讀(read)、寫(write)、執行(excute) 三個許可權,所以UGO模式是三類九種基本許可權。
用命令 ls -l 可列出文件的許可權,第一列輸出明確了後面的輸出(後面一列代表 ugo許可權)。第一個字母對應的關系:
“-” 普通文件
“d” 目錄
”l“ 符號鏈接
”c“ 字元設備
"b" 塊設備
"s" 套接字
"p" 管道
修改文件或目錄的所屬用戶: chown 文件名 | 目錄名 用戶
-R 該參數以遞歸的方式修改目錄下所有文件的所屬用戶,參數可以敲 chown --help 查看。
修改文件或目錄的所屬組: chgrp 文件名 | 目錄名 組名
-R 該參數以遞歸的方式修改目錄下的所有文件的'所屬組。
命令chmod 用來修改文件或目錄的許可權: chmod -參數 模式 文件 | 目錄
例子: 修改目錄 log下所有文件的許可權為700
chmod -R 700 log
註:700的來歷是 u g o
rwx rwx rwx
111 000 000
關於 chmod 命令的許可權模式除了數字表示,還可以是 u、g、o 、a 加 +、- 來表示。格式如下:u、g、o分別代表用戶、屬組和其他,a 就是
all ,可以代替ugo。 +、- 代表增加或刪除對應的許可權,r、w、x 代表三種許可權,分別是讀、寫、執行。
例子:對於目錄 log下的所有文件(已有許可權是700)增加所屬組(g)的讀(r)、執行(x)許可權。
chmod -R g+rx log
類似的命令可能還有很多,這里只是舉幾個最基本且常用的例子。很多命令用到時,再去查也可以。還可參考《鳥哥的Linux私房菜》。
二、特殊許可權
Linux的3個特殊的許可權,分別是setuid、setgid和stick bit。
setuid許可權(S):只有用戶可擁有,出現在執行許可權(x)的位置。
setuid許可權允許用戶以其擁有者的許可權來執行可執行文件,即使這個可執行文件是由其他用戶運行的。
setgid許可權(S):對應於用戶組,出現在執行許可權(x)的位置。
setgid許可權允許以同該目錄擁有者所在組相同的有效組許可權來允許可執行文件。但是這個組和實際發起命令的用戶組不一定相同。
stick bit (t /T):又名粘滯位,只有目錄才有的許可權,出現在其他用戶許可權(o)中的執行位置(x)。當一個目錄設置了粘滯位,只有創建了該目錄的用戶才能刪除目錄中的文件,但是其他用戶組和其他用戶也有寫許可權。使用 t 或 T來表示。若沒有設置執行許可權,但是設置了粘滯位,使用 t;若同時設置了執行許可權和粘滯位使用 T。典型的粘滯位使用是 /tmp 目錄,粘滯位屬於一種防寫。
設置特殊許可權:
setuid: chmod u+s filename
setgid: chmod g+s directoryname
stick bit: chmod o+t directoryname
用數字表示特殊許可權,是在基本許可權之上的。濁嘴笨腮說不清楚,看例子:
例子:將上面例子中的log日誌目錄(已有許可權 700)許可權設置為755。特殊許可權是類似 /tmp目錄的 stick bit有效。
特殊許可權 基本許可權
setuid setgid stick bit user group other
0 0 1 rwx rwx rwx
111 000 000
所以,設置特殊許可權(stick bit)的命令應該是:chmod 1755 log
設置特殊許可權後,ls -dl 查看該目錄:drwxr-xr-t 2 gg gg 4096 5月 11 19:05 log ( 注意 other 的 x 位是代表特殊許可權的字母 t )
取消該特殊許可權的命令:chmod 755 log 。如此 stick bit的許可權就沒有了。
再次 ls -dl 查看該目錄: drwxr-xr-x 2 gg gg 4096 5月 11 19:15 log ( 注意最後一位已經變為代表普通許可權的字母x )
需要注意的是,最前面一位 ”1“ 就是特殊許可權位。其他兩個特殊許可權的設置也類似。setuid使用不是無限制的。出於安全目的,只能應用在Linux ELF格式二進制文件上,而不能用於腳本文件。
三、高級許可權
ACL(Access Control List),訪問控制列表是Linux下的的高級許可權機制,可實現對文件、目錄的靈活許可權控制。ACL 允許針對不同用戶、
不同組對同一個目標文件、目錄進行許可權設置,而不受UGO限制。
在一個文件系統上使用ACL需要在掛載文件系統的時候打開ACL功能。而根分區(ROOT)默認掛載的時候支持ACL。
命令:mount -o acl /掛載路徑
例子:mount -o acl /dev/sdb1 /mnt
查看一個文件的ACL設置的命令: getfacl file
(針對一個用戶)為一個文件設置指定用戶的許可權的命令: setfacl -m u:username:rwx filename
(針對一個組)為一個文件設置指定組的許可權的命令: setfacl -m g:groupname:r-x filename
刪除一個ACL設置的命令: setfacl -x u:username filename
;⑺ Linux許可權命令
許可權是Linux中的重要概念,每個文件/目錄等都具有許可權,通過ls -l命令我們可以 查看某個目錄下的文件或目錄的許可權
示例:在隨意某個目錄下ls -l
第一列的內容的信息解釋如下:
這個字元串有10位,可以分為4段來解讀。
第一段(第1位)表示是目錄還是文件,-表示是文件,d表示是目錄;
第二段(第2-4位,共3個字元串)表示文件所屬用戶對它的許可權 - 屬主許可權(User);
第三段(第5-7位,共3個字元串)表示文件所屬用戶組用戶對它的許可權 - 屬組許可權(Group);
第四段(第8-10位,共3個字元串)表示其他用戶對它的許可權 - 其他許可權(other);
註:
①我們用3位8進制來表示文件的許可權,r(read)用4標識,w(write)用2標識,x(excute)用1標識
②r–可讀,w–可寫,x–可執行。
③每一段的三位順序不可變,如果沒有對應的許可權,則使用-表示
上圖中的-rwxrw-r–可以用八進制數字764表示。
案例:
-rwxrwxrwx
轉算成八進制,777,代表這是一個對所有人開發許可權的文件。
15.6.2 修改文件/目錄的許可權的命令:chmod
示例:修改/test下的aaa.txt的許可權為屬主有全部許可權,屬主所在的組有讀寫許可權,
其他用戶只有讀的許可權
chmod u=rwx,g=rw,o=r aaa.txt
上述示例還可以使用數字表示:
chmod 764 aaa.txt
15.7 free查看內存信息
15.7.1 free查看內存信息
free指令會顯示內存的使用情況,包括實體內存,虛擬的交換文件內存,共享內存區段,以及系統核心使用的緩沖區等
df df -h 命令用於顯示目前在 Linux 系統上的文件系統磁碟使用情況統計
補充:
關機命令
reboot 重新啟動操作系統
shutdown -h now 立刻關機,其中now相當於時間為0的狀態
shutdown -h 10:23
shutdown -h +10 系統再過十分鍾後自動關機
總結
Linux命令
目錄操作
cd usr/ 切換到該目錄下usr目錄
cd .. 切換到上一層目錄
cd / 切換到系統根目錄
mkdir 目錄名稱 創建目錄
ls 目錄名稱 查詢該目錄下所有的目錄和文件
ls [-a] 目錄名稱 查詢該目錄下所有的目錄和文件,包含隱藏文件
ls [-l] 目錄名稱 查詢該目錄下所有的目錄和文件的詳細信息
find / -name 目錄名稱 查找/root下的目錄(文件)
mv 目錄名稱 新目錄名稱 修改目錄名稱
mv 目錄名稱 目錄的新位置 剪切
cp -r 目錄名稱 目錄的目標位置 拷貝
rm -rf 目錄 強制刪除目錄
文件操作
touch 文件名稱 創建空文件
cat/more/less/tail 文件 查看文件內容
tail -f 文件 動態查看/實時查看文件(日誌)
grep 要搜索的字元串 要搜索的文件 關鍵字搜索
vi/vim 文件 修改文件內容
rm -rf 文件 強制刪除文件
文件的打包
tar -zcvf 文件名.tar 要打包的文件
文件的解壓
tar -xvf 文件名.tar
擴充:將文件解壓到固定位置
tar -xvf 文件名.tar -C 指定解壓的位置
查詢當前所在位置
pwd
查看進程
ps -ef | grep 進程名稱(tomcat/mysql)
殺死進程
kill -9 進程pid
查看埠號
netstat -an | grep 埠號(3306)
查看伺服器ip
ifconfig
查看網路是否能正常使用
ping 外網地址 查看是否能訪問外網
ping 內網ip 查看是否能訪問內網
許可權命令
chmod 777 文件 賦權
查看cpu
top
查看磁碟信息
df -h
查看內存信息
free
關機命令
shutdown -h now 立刻關機,其中now相當於時間為0的狀態
shutdown -h 10:23
shutdown -h +10 系統再過十分鍾後自動關機
重新啟動
reboot 重新啟動操作系統
```·
⑻ Linux許可權詳解(chmod、600、644、666、700、711、755、777、4755、6755、7755)
許可權簡介
Linux系統上對文件的許可權有著嚴格的控制,用於如果相對某個文件執行某種操作,必須具有對應的許可權方可執行成功。
Linux下文件的許可權類型一般包括讀,寫,執行。對應字母為 r、w、x。
Linux下許可權的粒度有
擁有者 、群組 、其它組 三種。每個文件都可以針對三個粒度,設置不同的rwx(讀寫執行)許可權。通常情況下,一個文件只能歸屬於一個用戶和組,
如果其它的用戶想有這個文件的許可權,則可以將該用戶加入具備許可權的群組,一個用戶可以同時歸屬於多個組。
Linux上通常使用chmod命令對文件的許可權進行設置和更改。
一、快速入門
更改文件許可權 (chmod命令)
一般使用格式
chmod [可選項]
可選項: -c, --changes like verbose but report onlywhena change is made (若該檔案許可權確實已經更改,才顯示其更改動作) -f, --silent, --quiet suppress most error messages(若該檔案許可權無法被更改也不要顯示錯誤訊息) -v, --verbose output a diagnosticforevery file processed(顯示許可權變更的詳細資料) --no-preserve-rootdonottreat'/'specially (the default) --preserve-root fail to operate recursively on'/' --reference=RFILE use RFILE's mode instead of MODE values-R, --recursive change files and directories recursively(以遞歸的方式對目前目錄下的所有檔案與子目錄進行相同的許可權變更)--help顯示此幫助信息--version顯示版本信息mode :許可權設定字串,詳細格式如下 :[ugoa...][[+-=][rwxX]...][,...],其中[ugoa...]
u 表示該檔案的擁有者,g 表示與該檔案的擁有者屬於同一個群體(group)者,o 表示其他以外的人,a 表示所有(包含上面三者)。[+-=]
+ 表示增加許可權,- 表示取消許可權,= 表示唯一設定許可權。[rwxX]
r 表示可讀取,w 表示可寫入,x 表示可執行,X 表示只有當該檔案是個子目錄或者該檔案已經被設定過為可執行。
file...文件列表(單個或者多個文件、文件夾)
範例:
設置所有用戶可讀取文件 a.conf
設置 c.sh 只有 擁有者可以讀寫及執行
設置文件 a.conf 與 b.xml 許可權為擁有者與其所屬同一個群組 可讀寫,其它組可讀不可寫
設置當前目錄下的所有檔案與子目錄皆設為任何人可讀寫
數字許可權使用格式
在這種使用方式中,首先我們需要了解數字如何表示許可權。
首先,我們規定 數字 4 、2 和 1表示讀、寫、執行許可權(具體原因可見下節許可權詳解內容),即 r=4,w=2,x=1
。此時其他的許可權組合也可以用其他的八進制數字表示出來,如: rwx = 4 + 2 + 1 = 7 rw = 4 + 2 = 6 rx = 4
+1 = 5 即
若要同時設置
rwx (可讀寫運行) 許可權則將該許可權位 設置 為 4 + 2 + 1 = 7 若要同時設置 rw- (可讀寫不可運行)許可權則將該許可權位 設置
為 4 + 2 = 6 若要同時設置 r-x (可讀可運行不可寫)許可權則將該許可權位 設置 為 4 +1 = 5
上面我們提到,每個文件都可以針對三個粒度,設置不同的rwx(讀寫執行)許可權。即我們可以用用三個8進制數字分別表示 擁有者 、群組 、其它組( u、 g 、o)的許可權詳情,並用chmod直接加三個8進制數字的方式直接改變文件許可權。語法格式為 :
chmod file...
其中a,b,c各為一個數字,分別代表User、Group、及Other的許可權。相當於簡化版的chmod u=許可權,g=許可權,o=許可權file...而此處的許可權將用8進制的數字來表示User、Group、及Other的讀、寫、執行許可權
範例:
設置所有人可以讀寫及執行
設置擁有者可讀寫,其他人不可讀寫執行
更改文件擁有者(chown命令)
linux/Unix 是多人多工作業系統,每個的文件都有擁有者(所有者),如果我們想變更文件的擁有者(利用 chown 將文件擁有者加以改變),一般只有系統管理員(root)擁有此操作許可權,而普通用戶則沒有許可權將自己或者別人的文件的擁有者設置為別人。
語法格式:
chown [可選項] user[:group] file...
使用許可權:root說明:[可選項] :同上文chmoser :新的文件擁有者的使用者group :新的文件擁有者的使用者群體(group)
範例:
設置文件 d.key、e.scrt的擁有者設為 users 群體的 tom
設置當前目錄下與子目錄下的所有文件的擁有者為 users 群體的 James
二、Linux許可權詳解
Linux系統上對文件的許可權有著嚴格的控制,用於如果相對某個文件執行某種操作,必須具有對應的許可權方可執行成功。這也是Linux有別於Windows的機制,也是基於這個許可權機智,Linux可以有效防止病毒自我運行,因為運行的條件是必須要有運行的許可權,而這個許可權在Linux是用戶所賦予的。
Linux的文件許可權有以下設定:
Linux下文件的許可權類型一般包括讀,寫,執行。對應字母為 r、w、x。
Linux下許可權的屬組有 擁有者 、群組 、其它組 三種。每個文件都可以針對這三個屬組(粒度),設置不同的rwx(讀寫執行)許可權。
通常情況下,一個文件只能歸屬於一個用戶和組, 如果其它的用戶想有這個文件的許可權,則可以將該用戶加入具備許可權的群組,一個用戶可以同時歸屬於多個組。
如果我們要表示一個文件的所有許可權詳情,有兩種方式:
第一種是十位二進製表示法,(三個屬組每個使用二進制位,再加一個最高位共十位),可簡化為三位八進制形式
另外一種十二位二進製表示法(十二個二進制位),可簡化為四位八進制形式
十位許可權表示
常見的許可權表示形式有:
-rw------- (600)只有擁有者有讀寫許可權。-rw-r--r-- (644)只有擁有者有讀寫許可權;而屬組用戶和其他用戶只有讀許可權。-rwx------ (700)只有擁有者有讀、寫、執行許可權。-rwxr-xr-x (755)擁有者有讀、寫、執行許可權;而屬組用戶和其他用戶只有讀、執行許可權。-rwx--x--x (711)擁有者有讀、寫、執行許可權;而屬組用戶和其他用戶只有執行許可權。-rw-rw-rw- (666)所有用戶都有文件讀、寫許可權。-rwxrwxrwx (777)所有用戶都有讀、寫、執行許可權。
後九位解析:我們知道Linux許可權總共有三個屬組,這里我們給每個屬組使用三個位置來定義三種操作(讀、寫、執行)許可權,合起來則是許可權的後九位。 上面我們用字元表示許可權,其中 -代表無許可權,r代表讀許可權,w代表寫許可權,x代表執行許可權。
實際上,後九位每個位置的意義(代表某個屬組的某個許可權)都是固定的,如果我們將各個位置許可權的有無用二進制數 1和 0來代替,則只讀、只寫、只執行許可權,可以用三位二進制數表示為
r--=100-w-=010--x=001---=000
轉換成八進制數,則為 r=4, w=2, x=1, -=0(這也就是用數字設置許可權時為何是4代表讀,2代表寫,1代表執行)
實際上,我們可以將所有的許可權用二進制形式表現出來,並進一步轉變成八進制數字:
rwx=111=7rw-=110=6r-x=101=5r--=100=4-wx=011=3-w-=010=2--x=001=1---=000=0
由上可以得出,每個屬組的所有的許可權都可以用一位八進制數表示,每個數字都代表了不同的許可權(權值)。如 最高的許可權為是7,代表可讀,可寫,可執行。
故 如果我們將每個屬組的許可權都用八進制數表示,則文件的許可權可以表示為三位八進制數
-rw------- =600-rw-rw-rw- =666-rwxrwxrwx =777
關於第一位最高位的解釋:上面我們說到了許可權表示中後九位的含義,剩下的第一位代表的是文件的類型,類型可以是下面幾個中的一個:
d代表的是目錄(directroy)-代表的是文件(regular file)s代表的是套字文件(socket)p代表的管道文件(pipe)或命名管道文件(named pipe)l代表的是符號鏈接文件(symbolic link)b代表的是該文件是面向塊的設備文件(block-oriented device file)c代表的是該文件是面向字元的設備文件(charcter-oriented device file)
十二位許可權(Linux附加許可權)
附加許可權相關概念
linux除了設置正常的讀寫操作許可權外,還有關於一類設置也是涉及到許可權,叫做Linxu附加許可權。包括 SET位許可權(suid,sgid)和粘滯位許可權(sticky)。
SET位許可權:
suid/sgid是為了使「沒有取得特權用戶要完成一項必須要有特權才可以執行的任務」而產生的。
一般用於給可執行的程序或腳本文件進行設置,其中SUID表示對屬主用戶增加SET位許可權,SGID表示對屬組內用戶增加SET位許可權。執行文件被設置了SUID、SGID許可權後,任何用戶執行該文件時,將獲得該文件屬主、屬組賬號對應的身份。在許多環境中,suid
和 sgid 很管用,但是不恰當地使用這些位可能使系統的安全遭到破壞。所以應該盡量避免使用SET位許可權程序。(passwd
命令是為數不多的必須使用「suid」的命令之一)。
suid(set User ID,set UID)的意思是進程執行一個文件時通常保持進程擁有者的UID。然而,如果設置了可執行文件的suid位,進程就獲得了該文件擁有者的UID。
sgid(set Group ID,set GID)意思也是一樣,只是把上面的進程擁有者改成進程組就好了。
SET位許可權表示形式(10位許可權):
如果一個文件被設置了suid或sgid位,會分別表現在所有者或同組用戶的許可權的可執行位上;如果文件設置了suid還設置了x(執行)位,則相應的執行位表示為s(小寫)。但是,如果沒有設置x位,它將表示為S(大寫)。如:
1、-rwsr-xr-x表示設置了suid,且擁有者有可執行許可權2、-rwSr--r--表示suid被設置,但擁有者沒有可執行許可權3、-rwxr-sr-x表示sgid被設置,且群組用戶有可執行許可權4、-rw-r-Sr--表示sgid被設置,但群組用戶沒有可執行許可權
設置方式:
SET位許可權可以通過chmod命令設置,給文件加suid和sgid的命令如下(類似於上面chmod賦予一般許可權的命令):
chmo+sfilename設置suid位chmo-sfilename去掉suid設置chmodg+sfilename設置sgid位chmodg-sfilename去掉sgid設置
粘滯位許可權:
粘滯位許可權即sticky。一般用於為目錄設置特殊的附加許可權,當目錄被設置了粘滯位許可權後,即便用戶對該目錄有寫的許可權,也不能刪除該目錄中其他用戶的文件數據。設置了粘滯位許可權的目錄,是用ls查看其屬性時,其他用戶許可權處的x將變為t。
使用chmod命令設置目錄許可權時,+t、-t許可權模式可分別用於添加、移除粘滯位許可權。
粘滯位許可權表示形式(10位許可權):
一個文件或目錄被設置了粘滯位許可權,會表現在其他組用戶的許可權的可執行位上。如果文件設置了sticky還設置了x(執行)位,其他組用戶的許可權的可執行位為t(小寫)。但是,如果沒有設置x位,它將表示為T(大寫)。如:
1、-rwsr-xr-t表示設置了粘滯位且其他用戶組有可執行許可權2、-rwSr--r-T表示設置了粘滯位但其他用戶組沒有可執行許可權
設置方式:
sticky許可權同樣可以通過chmod命令設置:
chmod +t <文件列表..>
十二位的許可權表示方法
附加許可權除了用十位許可權形式表示外,還可以用用十二位字元表示。
11109876543210S G T r w x r w x r w x
SGT分別表示SUID許可權、SGID許可權、和 粘滯位許可權,這十二位分別對應關系如下:
第11位為SUID位,第10位為SGID位,第9位為sticky位,第8-0位對應於上面的三組rwx位(後九位)。
在這十二位的每一位上都置值。如果有相應的許可權則為1, 沒有此許可權則為0。
-rw-r-sr--的值為:010110100100-rwsr-xr-x的值為:100111101101-rwsr-sr-x的值為:110111101101-rwsr-sr-t的值為:111111101101
如果將則前三位SGT也轉換成一個二進制數,則
suid 的八進制數字是4
sgid 的代表數字是 2
sticky 位代表數字是1
這樣我們就可以將十二位許可權三位三位的轉化為4個八進制數。其中
最高的一位八進制數就是suid,sgdi,sticky的權值。
第二位為 擁有者的權值
第三位為 所屬組的權值
最後一位為 其他組的權值
附加許可權的八進制形式
通過上面,我們知道,正常許可權和附加許可權可以用4位八進制數表示。類似於正常許可權的數字許可權賦值模式(使用三位八進制數字賦值)
chmod file...
我們可以進一步使用4位八進制數字同時賦值正常許可權和附加許可權。
chmod file...
其中s是表示附加許可權的把八進制數字,abc與之前一致,分別是對應User、Group、及Other(擁有者、群組、其他組)的許可權。因為SUID對應八進制數字是4,SGID對於八進制數字是2,則「4755」表示設置SUID許可權,「6755」表示同時設置SUID、SGID許可權。
我們進一步將上小節的例子中的二進制數轉變為八進製表示形式,則
-rw-r-sr-- =010110100100=2644-rwsr-xr-x =100111101101=4755-rwsr-sr-x =110111101101=6755-rwsr-sr-t =111111101101=7755
對比範例:
設置 netlogin 的許可權為擁有者可讀寫執行,群組和其他許可權為可讀可執行
設置 netlogin 的許可權為擁有者可讀寫執行,群組和其他許可權為可讀可執行,並且設置suid
chmod 4755與chmod 755對比多了附加許可權值4,這個4表示其他用戶執行文件時,具有與所有者同樣的許可權(設置了SUID)。
為什麼要設置4755 而不是 755?
假設netlogin是root用戶創建的一個上網認證程序,如果其他用戶要上網也要用到這個程序,那就需要root用戶運行chmod 755 netlogin命令使其他用戶也能運行netlogin。但假如netlogin執行時需要訪問一些只有root用戶才有權訪問的文件,那麼其他用戶執行netlogin時可能因為許可權不夠還是不能上網。這種情況下,就可以用 chmod 4755 netlogin 設置其他用戶在執行netlogin也有root用戶的許可權,從而順利上網。