新聞中心
在Linux系統(tǒng)中,文件或目錄的權限管理是非常重要的。每個文件或目錄都有三種權限分別是:讀取權限、寫入權限和執(zhí)行權限。除此之外,在Linux系統(tǒng)中,還可以使用s選項來進一步控制文件或目錄的權限。

林芝網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)!從網(wǎng)頁設計、網(wǎng)站建設、微信開發(fā)、APP開發(fā)、成都響應式網(wǎng)站建設等網(wǎng)站項目制作,到程序開發(fā),運營維護。創(chuàng)新互聯(lián)自2013年創(chuàng)立以來到現(xiàn)在10年的時間,我們擁有了豐富的建站經(jīng)驗和運維經(jīng)驗,來保證我們的工作的順利進行。專注于網(wǎng)站建設就選創(chuàng)新互聯(lián)。
什么是s選項?
s選項指的是Set-User-ID和Set-Group-ID。當文件或目錄啟用了Set-User-ID或Set-Group-ID特性時,執(zhí)行該文件或訪問該目錄的用戶或組將自動繼承該文件或目錄的所有者和組。簡而言之,啟用了s選項后,文件或目錄將使用其所有者或組的權限而不是執(zhí)行用戶或組的權限。
s選項有兩種類型:
1. Set-User-ID
2. Set-Group-ID
Set-User-ID
Set-User-ID標志為“s”。當文件啟用Set-User-ID特性后,任何執(zhí)行該文件的用戶將自動繼承該文件的所有者的權限。這意味著即使執(zhí)行該文件的用戶沒有訪問該文件的權限,他們也可以執(zhí)行該文件,并以文件所有者的身份訪問該文件。這種功能通常用于需要管理員特權的程序。
例如,/usr/bin/passwd程序允許用戶更改自己的密碼。該程序只有在擁有root用戶權限時才能修改/etc/shadow文件。為了讓該程序在普通用戶權限下正常工作,passwd程序可以使用Set-User-ID特性,這樣它將始終以root用戶的身份運行,即使普通用戶執(zhí)行該程序也是如此。
下面是一個簡單的例子來說明Set-User-ID的用法:
創(chuàng)建一個test腳本:
“`
$ cat > test.sh
#!/bin/bash
touch /tmp/file.txt
EOF
$ chmod +x test.sh
$ ls -l test.sh
-rwxr-xr-x 1 user user 36 May 15 10:33 test.sh
“`
使用普通用戶身份運行該腳本:
“`
$ ./test.sh
touch: cannot touch ‘/tmp/file.txt’: Permission denied
“`
直接運行該腳本是不行的,因為普通用戶沒有在/tmp目錄下創(chuàng)建文件的權限。
現(xiàn)在啟用Set-User-ID特性:
“`
$ chmod u+s test.sh
$ ls -l test.sh
-rwsr-xr-x 1 user user 36 May 15 10:33 test.sh
“`
再次運行該腳本:
“`
$ ./test.sh
“`
再次使用普通用戶的身份運行該腳本時將會成功,因為此時所有者的權限繼承了該文件的執(zhí)行用戶的權限。
Set-Group-ID
Set-Group-ID標志為“s”。當目錄啟用Set-Group-ID特性后,任何在該目錄內(nèi)創(chuàng)建文件或目錄的用戶將自動繼承該目錄的組。這意味著即使這些文件或目錄的所有者是創(chuàng)建它們的用戶本身,它們的組將是該目錄的組。這種功能通常用于多用戶訪問同一目錄的情況下,希望所有文件的組始終與目錄的組相同。
下面是一個簡單的例子來說明Set-Group-ID的用法:
創(chuàng)建一個test目錄:
“`
$ mkdir test
$ chmod 777 test
$ ls -ld test
drwxrwxrwx 2 user user 4096 May 15 14:29 test
“`
用普通用戶user1創(chuàng)建一個文件:
“`
$ touch test/file.txt
$ ls -l test
total 0
-rw-r–r– 1 user1 user 0 May 15 14:30 file.txt
“`
現(xiàn)在啟用Set-Group-ID特性:
“`
$ chmod g+s test
$ ls -ld test
drwxrwsrwx 2 user user 4096 May 15 14:29 test
“`
現(xiàn)在再次用用戶user1訪問test目錄:
“`
$ touch test/file1.txt
$ ls -l test
total 0
-rw-r–r– 1 user1 user 0 May 15 14:30 file.txt
-rw-r–r– 1 user1 user 0 May 15 14:32 file1.txt
“`
這時,創(chuàng)建的文件的組將與目錄test的組相同。
在Linux系統(tǒng)中,s選項可以進一步控制文件或目錄的訪問權限。啟用Set-User-ID或Set-Group-ID特性后,文件或目錄將使用其所有者或組的權限而不是執(zhí)行用戶或組的權限。使用Set-User-ID和Set-Group-ID特性能夠提高系統(tǒng)的安全性以及多用戶共享目錄的管理效率。
相關問題拓展閱讀:
- Linux權限管理基本知識
Linux權限管理基本知識
Linux權限管理基本知識大全
Linux系統(tǒng)有什么基本權限,權限管理命令是什么?下面跟我一起來看看吧!
一、基本權限
linux權限機制采用UGO模式。其中 u(user)表示所屬用戶、g(group)表示所屬組、o(other)表示除了所屬用戶、所屬組之外的情況。
u、g、o 都有讀(read)、寫(write)、執(zhí)行(excute) 三個權限,所以UGO模式是三類九種基本權限。
用命令 ls -l 可列出文件的權限,之一列輸出明確了后面的輸出(后面一列代表 ugo權限)。之一個字母對應的關系:
罩野“-” 普通文件
“d” 目錄
”l“ 符號鏈接
”c“ 字符設備
”b” 塊設備
”s” 套接字
”p” 管道
修改文件或目錄的所屬用戶: chown 文件名 | 目錄名 用戶
R 該參數(shù)以遞歸的方式修改目錄下所有文件的所屬用戶,參數(shù)可以敲 chown –help 查看。
修改文件或目錄的所屬組: chgrp 文件名 | 目錄名 組名
R 該參橘悶世數(shù)以遞歸的方式修改目錄下的所有文件的’所屬組。
命令chmod 用來修改文件或目錄的權限: chmod -參數(shù) 模式 文件 | 目錄
例子: 修改目錄 log下所有文件的權限為700
chmod -R 700 log
注:700的來歷是 u g o
rwx rwx rwx
000
關于 chmod 命令的權限模式除了數(shù)字表示,還可以是 u、g、o 、a 加 +、- 來表示。格式如下:u、g、o分別代表用戶、屬組和其他,a 就是
all ,可以代替ugo。 +、- 代表增加或刪除對應的權限,r、w、x 代表三種權限,分別是讀、寫、執(zhí)行。
例子:對于目錄 log下的所有文件(已有權限是700)增加所屬組(g)的讀(r)、執(zhí)行(x)權限。
chmod -R g+rx log
類似的命令可能還有很多,這里只是舉幾個最基本且常用的例子。很多命令用到時,再去查也可以。還可參考《鳥哥的Linux私房菜》。
二、特殊權限
Linux的3個特殊的權限,分別是setuid、setgid和stick bit。
setuid權限(S):只有用戶可擁有,出現(xiàn)在執(zhí)行權限(x)的位置。
setuid權限允許用戶以其擁有者的權限來執(zhí)行可執(zhí)行文件,即使這個可執(zhí)行文件是由其他用戶運行的。
setgid權限(S):對應于用戶組,出現(xiàn)在執(zhí)行權限(x)的位置。
setgid權限允許以同該目錄擁有者所在組相同的有效組權限來允許可執(zhí)行文件。但是這個組和實際發(fā)起命令的用戶組不一定相同。
stick bit (t /T):又名粘滯位,只有目錄才有的權限,出現(xiàn)在其他用戶權限(o)中的執(zhí)行位置(x)。當一個目錄設置了粘滯位,只有創(chuàng)建了該目錄的用戶才能刪除目錄中的文件,但是其他用戶組和其他用戶也有寫權限。使用 t 或 T來表示。若沒有設置執(zhí)行權限,但是設置了粘滯圓肢位,使用 t;若同時設置了執(zhí)行權限和粘滯位使用 T。典型的粘滯位使用是 /tmp 目錄,粘滯位屬于一種寫保護。
設置特殊權限:
setuid: chmod u+s filename
setgid: chmod g+s directoryname
stick bit: chmod o+t directoryname
用數(shù)字表示特殊權限,是在基本權限之上的。濁嘴笨腮說不清楚,看例子:
例子:將上面例子中的log日志目錄(已有權限 700)權限設置為755。特殊權限是類似 /tmp目錄的 stick bit有效。
特殊權限 基本權限
setuid setgid stick bit user group other
rwx rwx rwx
000
所以,設置特殊權限(stick bit)的命令應該是:chmod 1755 log
設置特殊權限后,ls -dl 查看該目錄:drwxr-xr-t 2 gg gg月 11 19:05 log ( 注意 other 的 x 位是代表特殊權限的字母 t )
取消該特殊權限的命令:chmod 755 log 。如此 stick bit的權限就沒有了。
再次 ls -dl 查看該目錄: drwxr-xr-x 2 gg gg月 11 19:15 log ( 注意最后一位已經(jīng)變?yōu)榇砥胀嘞薜淖帜竫 )
需要注意的是,最前面一位 ”1“ 就是特殊權限位。其他兩個特殊權限的設置也類似。setuid使用不是無限制的。出于安全目的,只能應用在Linux ELF格式二進制文件上,而不能用于腳本文件。
三、高級權限
ACL(Access Control List),訪問控制列表是Linux下的的高級權限機制,可實現(xiàn)對文件、目錄的靈活權限控制。ACL 允許針對不同用戶、
不同組對同一個目標文件、目錄進行權限設置,而不受UGO限制。
在一個文件系統(tǒng)上使用ACL需要在掛載文件系統(tǒng)的時候打開ACL功能。而根分區(qū)(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權限的增加選項中s表示什么的介紹到此就結束了,不知道你從中找到你需要的信息了嗎 ?如果你還想了解更多這方面的信息,記得收藏關注本站。
創(chuàng)新互聯(lián)成都網(wǎng)站建設公司提供專業(yè)的建站服務,為您量身定制,歡迎來電(028-86922220)為您打造專屬于企業(yè)本身的網(wǎng)絡品牌形象。
成都創(chuàng)新互聯(lián)品牌官網(wǎng)提供專業(yè)的網(wǎng)站建設、設計、制作等服務,是一家以網(wǎng)站建設為主要業(yè)務的公司,在網(wǎng)站建設、設計和制作領域具有豐富的經(jīng)驗。
新聞名稱:Linux權限控制:s選項的含義解析(linux權限的增加選項中s表示什么)
文章來源:http://www.dlmjj.cn/article/cdjjcij.html


咨詢
建站咨詢
