日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

什么是SUID?在Linux/Unix中如何设置SUID

發布時間:2024/1/4 综合教程 31 生活家
生活随笔 收集整理的這篇文章主要介紹了 什么是SUID?在Linux/Unix中如何设置SUID 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文件中除了普通的讀、寫、執行權限外,還有一些特殊的權限,我們可以使用 chmod和chown命令來設置。 他們分別是SUID, SGID, Stricky Bit, ACL's, SUDO and SELinux 等,管理員可以使用這些命令管理文件/文件夾。

1)什么是SUID?

2) 如何設置SUID?

3) 什么地方使用SUID?

什么是SUID,Linux中如何設置?

SUID (Set owner User ID
up on execution) 是給予文件的一個特殊類型的文件權限。在 Linux/Unix中,當一個程序運行的時候, 程序將從登錄用戶處繼承權限。SUID被定義為給予一個用戶臨時的(程序/文件)所有者的權限來運行一個程序/文件。簡而言之用戶在執行程序/文件/命令的時候,將獲取文件所有者的權限以及所有者的UID和GID。

上面的解釋比較難理解,下面舉例詳細說明之。

通過以下例子來學習SUID:

例1: passwd 命令

當要改變賬戶的密碼的時候,我們使用passwd命令,此命令的所有者為root。在我們改變密碼的時候, passwd命令將編輯一些配置文件, 如/etc/passwd, /etc/shadow,這些文檔只能通過root賬戶擁有權限打開或者瀏覽。所以如果我們試著去除SUID并給予passwd全部權限,它無法打開其他文件,如/etc/shadow更新密碼。在我們執行 passwd命令的時候,我們將會遇到權限拒絕的錯誤或者一些其他的錯誤。所以passwd命令設置SUID將root用戶權限給予普通用戶 ,使得后者可以更新/etc/shadow和其他文件。

例2: ping 命令

類似的如果我們執行 ping命令,當我們執行這個命令的時候,它會打開socket文件和端口發送和接受IP包。普通用戶無此權限。所以這個命令設置SUID位,當普通用戶在執行這個命令的時候,被授予所有者(Root)權限。當這個命令執行的時候,它將 Root用戶的權限授予普通用戶來打開socket文件和端口。

例3: crontab 和 at 命令

當我們使用crontab或者at命令計劃一些工作的時候,我們需要編輯一些位于/etc/目錄和crotab相關的配置文件,這些文件普通用戶是沒有修改權限的。所以crontab/at命令被設置SUID,可以寫入數據。

文件如何設置SUID?

有兩中方式設置SUID

1) Symbolic way(s, Stands for Set) 符號方式
2) Numerical/octal way(4)  數字方式

使用 chmod 命令設置文件 SUID : file1.txt

Symbolic way: 符號方式:

chmod u+s file1.txt

將所有者的執行權限位被設置成s。

Numerical way:數字方式

chmod 4750 file1.txt

在 4750中, 4 說明 SUID 位被設置, 7 為所有者讀寫執行權限, 5 為所有組的讀執行權限,其他無任何權限。

如何檢查一個文件是否設置了SUID位?

使用 ls –l 命令檢查是否所有者執行權限被s或者S所取代。

比如: file1.txt 列出設置SUID前后的屬性

設置 SUID前:

ls -l

total 8

-rwxr--r-- 1 xyz xyzgroup 148 Dec 22 03:46 file1.txt

設置SUID后:

ls -l

total 8

-rwsr--r-- 1 xyz xyzgroup 148 Dec 22 03:46 file1.txt

和SUID有關的一些問答:

A) SUID在哪來使用 ?

1) 需要root賬戶來執行一個寫命令/程序/腳本。

2) 不想給特定用戶以認證但是想作為使用者來執行一些程序。

3) 不想使用SUDO命令但是想給予一個文件/腳本執行權。

B) 我在文件權限看到 “S” 大寫的 “s”,這是什么?

給文件/文件夾設置 SUID后,如果在文件的權限部分看到 ‘S’ ,說明這個用戶對這個文件/目錄沒有執行權。

如下:

chmod u+s file1.txt

ls -l
-rwSrwxr-x 1 surendra surendra 0 Dec 27 11:24 file1.txt

如果你想將S轉變成s,像下面一樣增加這個文件的執行權。

chmod u+x file1.txt
ls -l
-rwsrwxr-x 1 surendra surendra 0 Dec 5 11:24 file1.txt

你將會看到小寫的 's' 已經出現在執行屬性的位置上了。

SUID 帶執行權限:


SUID 不帶執行權:

C) 如何在Linux/Unix中尋找設置了SUID的文件 .

find / -perm +4000

上面的find命令將會查找帶有SUID位(4000)的文件。

D) 可以為文件夾設置SUID嗎?

可以,如果有需要。(Linux將所有的東西都當文件對待)。

E) SUID 的數字值?

4.

原文地址:http://www.linuxnix.com/2011/12/suid-set-suid-linuxunix.html

總結

以上是生活随笔為你收集整理的什么是SUID?在Linux/Unix中如何设置SUID的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。