天天看點

linux下普通使用者更改密碼原理(S權限)、SetUID

linux下普通使用者更改密碼原理(S權限)

首先,我們來看  /etc/passwd  和 /etc/shadow  檔案的權限:

linux下普通使用者更改密碼原理(S權限)、SetUID

可以看到passwd檔案,所有者有讀寫權限,其他使用者隻能讀

而shadow檔案什麼權限都沒有開通

那麼普通使用者整麼修改自己的密碼呢?

passwd檔案參考:http://blog.csdn.net/lyhdream/article/details/9046347

shadow檔案參考 :http://blog.csdn.net/lyhdream/article/details/9046335

下面我們來看看passwd 指令的詳細資訊:

linux下普通使用者更改密碼原理(S權限)、SetUID

我們看到在passwd指令可執行位那是個s,那麼s是什麼權限呢?

s權限(也可以叫做SetUID):當一個可執行(隻有可執行程式設定SetUID才有意義)程式具有SetUID權限,使用者執行這個程式時,将以這個程式所有者的身份執行。(在linux裡,預設的指令的所有者都是root使用者)。

給指令設定SetUID權限的方法:

一、 chmod    u+s

二、chmod    4755          (Linux中預設指令的權限都是755,而SetUID标準的權限數字位是4,檢視預設權限的數字位指令:umask)

去掉SetUID權限:

一、chmod  u-s

二、chmod  755

SetGID=2

當一個可執行程式具有SetGID時候,使用者執行程式的時候,将會以所屬組的方式執行。

chmod   g+s

chmod   2755

chmod   6755     (同時設定SetUID和SetGID )

linux下還有一個特殊權限:粘着位:

參見位址:http://blog.csdn.net/lyhdream/article/details/9074913

繼續閱讀