Linux

從 NFS 引導的 Linux 沒有 su 命令的權限

  • June 29, 2016

我已經從NFSAndroid 系統啟動了 Linux。現在我必須在minicom. 但是系統不允許我切換到超級使用者模式。每次我輸入:

shell@blaze_tablet:/ $ su   

我懂了:

su: permission denied

bootargs我在 u-boot 中添加了 一個參數,androidboot.selinux=disabled我認為這會有所幫助。但事實並非如此。問題可能出在某些文件的權限上NFS嗎?或者我錯過了任何參數bootargs

更新

我的/etc/exports文件內容

# /etc/exports: the access control list for filesystems which may be exported
#       to NFS clients.  See exports(5).
#
# Example for NFSv2 and NFSv3:
# /srv/homes       hostname1(rw,sync,no_subtree_check) hostname2(ro,sync,no_subtree_check)
#
# Example for NFSv4:
# /srv/nfs4        gss/krb5i(rw,sync,fsid=0,crossmnt,no_subtree_check)
# /srv/nfs4/homes  gss/krb5i(rw,sync,no_subtree_check)
/export/rfs    *(rw,nohide,insecure,no_subtree_check,async,no_root_squash)

你寫了:

執行結果ls -l $(type -p su)

-rwxr-xr-x root root 157400 2016-04-21 19:11 su

有你的問題。su缺少 setuid 根位。權限應如下所示:

-rwsr-xr-x 1 root root 40040 Nov 12  2015 /bin/su

這種情況有三種可能。

  1. 伺服器上的su執行檔不是 setuid(ls -l $(type -p su)在伺服器上檢查)
  2. 客戶端上的 NFS 掛載不包括 - 或明確排除 - setuid 位。nosuid確保您沒有mount命令,如果有疑問,請添加suid為顯式選項
  3. Android 安全性的實現與 Unix/Linux 安全性完全不同。如果是這種情況,我無法進一步幫助您

引用自:https://unix.stackexchange.com/questions/292320