Linux su 幾點建議

來源:互聯網
上載者:User

http://hi.baidu.com/thinkzero/item/172bc360171f6f1d7ddeccda

首先我們看su在man 協助頁中的解釋su - run a shell with substitute userand group IDs ,也就是說通過su我們不用提供使用者和組名就可以啟動一個shell程式。 su 是一個二進位的可執行檔,命令所在的檔案路徑是/bin/su ,下面是通過命令列查詢su檔案的類型及所在路徑:

    例一:

    islab$ which su

    /bin/su

    例二:

    islab$ file /bin/su

    /bin/su : setuid ELF 32-bit LSB shared object, Intel 80386, version1 (SYSV), for GNU/Linux 2.6.9, stripped

    例三:

    islab$ll /bin/su

    -rwsr-xr-x 1 root root 24060 Jan 10 2007 /bin/su

    例三和例二中我們可以看到su是一個setuid程式(setuid位可以使用chmodu+s 進行設定,如ls顯示su檔案所有者屬性起用了setuid位),在這種情況下,su可以獲得比其所有者更高的許可權,也就是說su啟動並執行時候,您的許可權會被提升,將與root的許可權等同。

    例三中我們可以看到檔案的類型是ELF 32-bit LSB shared object(設定了setuid位),也就是說程式需要libc這樣的函數庫,也需要使用了ELF 解譯器,並遵守LSB 規範。

    問一:普通使用者可以從其它機器拷貝su命令。

    答:他們可以從其它機器拷貝su命令,但是他們將不能對su進行正確的使用權限設定比如chown root和chmod u+s 等等。所以拷貝過來su不能夠正常工作。

    問二:如何防止普通使用者執行su命令。

    答:

    1 )。你可以建立一個專門的組,只有群組成員才能執行su命令

    islab# groupadd wheel

    islab# useradd wheel

    islab# chown root :mysql /bin/bash

    islab# chmod 4750 /bin/su

    2 )。只有root使用者才能執行su命令。

    islab# chmod 4700 /bin/su

    3 )。通過pam 庫實現只有wheel 群組成員才能執行su命令,下面例子中增加了zhaoke帳號到wheel 組中。

    islab# groupadd wheel

    islab# useradd wheel

    islab# usermod -G wheel zhaoke

    islab# ll /lib/security/pam_wheel.so

    -rwxr-xr-x 1 root root 5692 Feb 22 2007 /lib/security/pam_wheel.so

    islab# vi /etc/pam.d/su

    增加下面一行auth required /lib/security/pam_wheel.so use_uid

    然後儲存退出su設定檔。

    問三:普通使用者雖然不能執行su命令,但是還有可能通過蠻力攻擊獲得root的密碼

    答:普通使用者可以在shell 或者ssh 方式對root帳戶進行蠻力攻擊。我們可以考慮使用一些安全工具如pam_abl 來對ssh 進行保護。 pam_abl將能在設定的時間內對錯誤登陸的帳戶進行進行臨時封鎖。當然普通使用者也可以通過程式漏洞提升許可權,比如緩衝區溢位。

 

=====================================

在android裝置中,有時候明明有/system/bin/su,但是在一些需要root的程式中還是提示沒有root,可能是因為su在許可權屬性不對(-rwxr-xr-x),應該為 -rwsr-xr-x 才行。

修改 chmod u+s /system/bin/su

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.