亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Linux/Unix用戶權限下放

發布時間:2020-06-09 17:52:41 來源:網絡 閱讀:1378 作者:willis_sun 欄目:系統運維

        

        一般來說,root權限是在系統管理員手中,不能輕易就給了普通用戶,但是有時普通用戶想做一些高級一點的操作,又得麻煩系統管理員,比如啊,改個程序文件重啟個Apache等等。

        于是就有了root權限的下放,使得普通用戶能夠執行root用戶才能執行的命令。


一、有效的UID與真實的UID。

        當系統管理員在shell環境中運行passwd命令時,shell首先會創建另一個shell進程。新創建的shell進程映像將載入 passwd可執行映像并覆蓋自己的映像,passwd進程就開始運行。當一個進程被創建之后,passwd進程會從shell父進程中繼承大部分的屬 性。跟今天這個話題有關的屬性主要有兩個。一是進程真實的UID。這個屬性與程序文件有關。這個參數代表了運行這個進程的用戶(而非程序文件)的UID, 通常情況下這個參數保存在/etc/passwd中與用戶有關的記錄中。二是進程有效的UID。這個參數其實就表示程序文件的所有者,即誰能夠執行這個命 令。通常情況下,進程的有效UID與真實UID是相同的。但是當非root用戶運行passwd命令時,他們就會不同。


二、PASSWD文件的特殊性。

        在了解如何實現將root帳戶的權限下放給其他用戶之前,先來看一下passwd這個命令文件跟其他文件的不同。如下圖所示,系統管理員可以運行圖中所示的命令,來查看passwd程序文件與其它程序文件(如vi)的不同。


[root@localhost ~]# ls -l /bin/vi /usr/bin/passwd 
-rwxr-xr-x. 1 root root 910200 Jan 30  2014 /bin/vi
-rwsr-xr-x. 1 root root  27832 Jan 30  2014 /usr/bin/passwd


        對比以上兩個文件的屬性,大家會發現在passwd文件里的一個權限位上標有s這個特殊的字符。這個參數就被稱為屬主身份設置位,英文簡稱為 SUID,它可以用來改變一般用戶的權限模式。當非root用戶執行passwd更改自己帳戶的名字時,真實的UID就是這個用戶自己的UID,即運行這 個程序的用戶。但是有效的UID則不是。有效的UID是root用戶,即這個程序文件的所有者。通常情況下,進程或者命令的存取、運行權限不是由真是 UID而是有有效UID決定的,故如果沒有這個s這個特殊屬主身份設置時,其他用戶將無法使用這個命令。而現在其他用戶也可以利用passwd命令來更改 自己的命令,可見這個屬主身份設置位可以改變一般用戶的權限模式,可以將本來只有root帳戶才能夠運行的進程下放給其他用戶運行。


三、臨時權限SUID。

        將本來只有root帳戶才能夠運行的進程下放給其他用戶運行,有專家就把這種權限的轉移叫做臨時權限SUID。大部分的Unix系統都有這么一個特 殊的權限設置模式,允許用戶更新一些敏感的系統文件。往往在這些文件的用戶權限組里面有一個特殊的字母s,就代表一種特殊的模式,即屬主身份設置位。利用 這種模式系統工程師可以讓進程暫時擁有文件所有者的特權。因此當一個非特權用戶執行passwd命令時,進城有效的UID并不是用戶真實的UID。 Passwd命令真是利用這個特性讓其他非特權用戶可以執行這個passwd命令。Passwd命令默認情況下系統就允許其他非特權用戶運行。但是其他一 些系統維護命令,如網絡配置文件則不是。如果系統工程師要把網絡維護的工作分配給他人,就需要借鑒passwd的配置,將網絡配置文件的修改權限下放給其 他用戶。


四.用戶權限下放(sudo 命令權限下放)

        在CentOS/Redhat中,root權限的下放可以通過/etc/sudoers 文件來實現。

        我們打開這個文件。

        這個文件的開頭就寫明了這個文件的用途:

 

Sudoers allows particular users to run various commands as the root user, without needing the root password.

在文件的最底部給出了使用的格式。

 

## Allows people in group wheel to run all commands
# %wheel ALL=(ALL) ALL

## Same thing without a password
# %wheel ALL=(ALL) NOPASSWD: ALL


        這里有四個部分,第一個%wheel表示的是用戶組,第二個部分ALL是作用對象,也就是在哪個主機上有效, 第三部分是以誰的身份來運行,第四個部分就是要執行的命令了。

        舉個例子:我們要允許www組的用戶擁有重啟apache的權利,我們就可以在這個文件底部添加:

%www ALL=(root) /usr/sbin/apachectl -k start

www ALL=(root) /usr/sbin/apachectl -k restart

        注意:加上%指定的是用戶組,不加%指定的是用戶。執行命令這里一定要寫完整路徑,畢竟每個用戶的環境變量都不一樣。

        然后保存,注意一定要強制保存,加上嘆號。




向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

苏尼特左旗| 广州市| 水富县| 大余县| 高州市| 栖霞市| 民丰县| 五台县| 深泽县| 天台县| 长泰县| 尚志市| 磐安县| 凤阳县| 赤壁市| 朝阳区| 甘孜| 加查县| 灌阳县| 翁源县| 古田县| 井陉县| 唐海县| 宜宾市| 凤凰县| 大宁县| 隆德县| 三江| 石景山区| 鲁甸县| 绥化市| 波密县| 岳阳县| 民丰县| 桐城市| 千阳县| 罗甸县| 稷山县| 辽宁省| 崇州市| 沁源县|