版權聲明:本文由曾倩倩原創文章,轉載請注明出處:
文章原文鏈接:https://www.qcloud.com/community/article/103
來源:騰雲閣 https://www.qcloud.com/community
問題場景:
user_00@hadoop-10-125-224-102:> su root Password: su: cannot set groups: Operation not permitted
1.觀察:
(1) 查看 /bin/su
user_00@hadoop-10-125-224-102:> ll /bin/su -rwxr-xr-x 1 user_00 users 37880 May 3 2007 /bin/su
(2)對比能正常使用 su 命令的跳板機中/bin/su
文件
user_00@Tencent64:~> ll /bin/su -rwsr-xr-x 1 root root 37880 Jul 14 2014 /bin/su
2.對比不同點:
3.分析:
-
-rwsr-xr-x
中 s 表示setuid
,可以讓執行這個文件時,是以文件的擁有者的權限進行,而不是執行這個命令的用戶本身的權限 -
/bin
本屬於root組的文件改成其它組導致出錯,(ps:比較笨的錯誤,千萬不能這樣做)
4.解決:
-
改變文件擁有者:
hadoop-10-125-224-102:~ # chown -R root:root /bin/su ==> -rwxr-xr-x 1 root root 37880 May 3 2007 /bin/su
-
設置文件屬性
hadoop-10-125-224-102:~ # chmod u+s /bin/su ==> -rwsr-xr-x 1 root root 37880 May 3 2007 /bin/su
5.腦補的知識點:
權限狀態: -rwsr-xr-x
,此時就被稱為Set UID,簡稱為SUID。那么這個特殊權限的特殊性的作用
-
SUID權限僅對二進制程序(binary program)有效;
-
執行者對於該程序需要具有x的可執行權限;
-
本權限僅在執行該程序的過程中有效(run-time);
-
執行者將具有該程序擁有者(owner)的權限。
類似的權限 "SGID,SBIT" ,可自行搜索 "Linux 特殊權限"的相關資料。