su命令cannot set groups: Operation not permitted的解決方法

版權聲明:本文由曾倩倩原創文章,轉載請註明出處: 
文章原文連接:https://www.qcloud.com/community/article/103oop

來源:騰雲閣 https://www.qcloud.com/communityui

問題場景:spa

user_00@hadoop-10-125-224-102:> su root
Password: 
su: cannot set groups: Operation not permitted

1.觀察:

(1) 查看 /bin/sucode

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文件hadoop

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,能夠讓執行這個文件時,是以文件的擁有者的權限進行,而不是執行這個命令的用戶自己的權限get

  • /bin本屬於root組的文件改爲其它組致使出錯,(ps:比較笨的錯誤,千萬不能這樣作)it

4.解決:

  • 改變文件擁有者:io

    hadoop-10-125-224-102:~ # chown -R root:root /bin/su 
    ==>  -rwxr-xr-x 1 root root 37880 May  3  2007 /bin/su
  • 設置文件屬性class

    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 特殊權限"的相關資料。

相關文章
相關標籤/搜索