少し内にあるようですsu認証失敗警告を抑制する方法は?しかし、実際にはコマンドをまったく実行しません。
# su limited
su: Authentication failure
# su -s /bin/bash limited
su: Authentication failure
# su -s /bin/bash - limited
su: Authentication failure
ルートで実行するときに認証を確認する必要があるのはなぜですか?
ほとんどのユーザーにはsu
うまく機能します。
# grep limited /etc/passwd
limited:x:1001:1001::/home/limited:/bin/bash
# grep limited /etc/shadow
#
欠落しても/etc/shadow
他のほとんどのユーザーが追加されるわけではありませんsu
。
すると、次のログエントリが表示されます。
Apr 21 10:43:18 thehostname su: FAILED SU (to limited) root on pts/110
# egrep -v '^#|^$' /etc/pam.d/su
auth sufficient pam_rootok.so
session required pam_env.so readenv=1
session required pam_env.so readenv=1 envfile=/etc/default/locale
session optional pam_mail.so nopen
session required pam_limits.so
@include common-auth
@include common-account
@include common-session
ベストアンサー1
x
(ほとんど使用されていない)パスワードフィールドに1つがあります/etc/passwd
。 (man 5 passwd
私のDebian / Raspbianコンピュータとオンライン)これは次のことを意味します。〜しなければならない以下の対応する項目は次のとおりです/etc/shadow
。
パスワードフィールドが小文字の「x」の場合、暗号化されたパスワードは実際にはShadow(5)ファイルに対応する行が必要です。
/etc/shadow file
それ以外の場合、ユーザーアカウントは無効です。
最後の条項を満たしているかどうか疑わしいです。」無効なユーザーアカウントそして、su
とても慎重です。
はい(Raspbian)、すべてのコマンドはrootとして実行されます。
grep test.: /etc/passwd
test1:x:1005:1005:Test 1:/home/test1:/bin/bash
test2:x:1006:1006:Test 2:/home/test2:/bin/bash
grep test.: /etc/shadow
test1:!:18373:0:99999:7:::
su test1 -c id
uid=1005(test1) gid=1005(test1) groups=1005(test1)
su test2 -c id
su: Authentication failure
解決策はパスワードフィールドx
には使用しませpasswd
ん/etc/shadow
。 (パスワードフィールドを空白のままにすると、/etc/passwd
ユーザーはパスワードなしでログインできます。代わりにを使用すると、!
アカウントはロックされているとマークされます。)
pwconv
欠落している項目を含むファイルを変更するには、このコマンドを使用できる必要があります/etc/shadow
。