root @ frankfurt:〜#Sudo adduser newuser Adding user `newuser '... Adding new group` newuser'(1001)... Addingグループ「newuser」を持つ新規ユーザー「newuser」(1001)... ホームディレクトリ「/ home/newuser」を作成しています... 「/ etc/skel」からファイルをコピーしています... 新しいUNIXパスワードの入力: 新しいUNIXパスワードの再入力: passwd:パスワードは正常に更新されました newuserのユーザー情報の変更 新しい値を入力します、またはEnterキーを押してデフォルトの 氏名[]:新しい 部屋番号[]: 勤務先電話[]: 自宅電話[]: その他[]: 情報は正しいですか? [Y/n] y root @ frankfurt:〜#su newuser /bin/bashを実行できません:許可が拒否されました root @ frankfurt:〜#
ありがとう。
これらのフォルダーの許可をこのように変更すると、別のユーザーにsuできるようになりました。
chmod 755 /
chmod 755 /bin
chmod 755 /lib
/bin
フォルダーの権限を確認してください
# ls -ld /bin
drwxr-xr-x 2 root root 4096 May 27 21:39 /bin
利用可能なすべてのシェルの権限を確認してください
# ls -l /bin/*sh
-rwxr-xr-x 1 root root 1037464 Sep 1 2015 /bin/bash
-rwxr-xr-x 1 root root 154072 Feb 17 21:25 /bin/dash
lrwxrwxrwx 1 root root 4 Sep 1 2015 /bin/rbash -> bash
lrwxrwxrwx 1 root root 4 Feb 17 21:25 /bin/sh -> dash
lrwxrwxrwx 1 root root 7 Aug 19 2015 /bin/static-sh -> busybox
一部は、ターゲットを確認する必要があるリンクです
# ls -lL /bin/*sh
-rwxr-xr-x 1 root root 1037464 Sep 1 2015 /bin/bash
-rwxr-xr-x 1 root root 154072 Feb 17 21:25 /bin/dash
-rwxr-xr-x 1 root root 1037464 Sep 1 2015 /bin/rbash
-rwxr-xr-x 1 root root 154072 Feb 17 21:25 /bin/sh
-rwxr-xr-x 1 root root 1964536 Aug 19 2015 /bin/static-sh
別のシェルを試す
最適なのはbusybox
です。これは静的ビルドであるためです(.soライブラリは不要です)。
su newuser -s /bin/static-sh
次はdash
で、依存性が低く、デフォルトでインストールされます
su newuser -s /bin/dash
ライブラリとその親フォルダの権限を確認し、ldd
を使用してリストを取得できます
# ldd /bin/bash
linux-vdso.so.1 => (0x00007ffdefb5a000)
libtinfo.so.5 => /lib/x86_64-linux-gnu/libtinfo.so.5 (0x00007f714bbbd000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f714b9b9000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f714b5ef000)
/lib64/ld-linux-x86-64.so.2 (0x000055c6bc494000)
# ls -ld /lib /lib/x86_64-linux-gnu /lib64
drwxr-xr-x 26 root root 4096 May 15 07:41 /lib
drwxr-xr-x 2 root root 4096 May 14 15:52 /lib64
drwxr-xr-x 3 root root 16384 May 27 21:39 /lib/x86_64-linux-gnu
# ls -l /lib/x86_64-linux-gnu/libtinfo.so.5 /lib/x86_64-linux-gnu/libdl.so.2 /lib/x86_64-linux-gnu/libc.so.6 /lib64/ld-linux-x86-64.so.2
lrwxrwxrwx 1 root root 32 Apr 14 23:16 /lib64/ld-linux-x86-64.so.2 -> /lib/x86_64-linux-gnu/ld-2.23.so
lrwxrwxrwx 1 root root 12 Apr 14 23:16 /lib/x86_64-linux-gnu/libc.so.6 -> libc-2.23.so
lrwxrwxrwx 1 root root 13 Apr 14 23:16 /lib/x86_64-linux-gnu/libdl.so.2 -> libdl-2.23.so
lrwxrwxrwx 1 root root 15 Feb 19 09:23 /lib/x86_64-linux-gnu/libtinfo.so.5 -> libtinfo.so.5.9
これらは、ターゲットファイルを確認するために必要な単なるリンクです
# ls -lH /lib/x86_64-linux-gnu/libtinfo.so.5 /lib/x86_64-linux-gnu/libdl.so.2 /lib/x86_64-linux-gnu/libc.so.6 /lib64/ld-linux-x86-64.so.2
##or
# ls -lL /lib/x86_64-linux-gnu/libtinfo.so.5 /lib/x86_64-linux-gnu/libdl.so.2 /lib/x86_64-linux-gnu/libc.so.6 /lib64/ld-linux-x86-64.so.2
-rwxr-xr-x 1 root root 162632 Apr 14 23:16 /lib64/ld-linux-x86-64.so.2
-rwxr-xr-x 1 root root 1864888 Apr 14 23:16 /lib/x86_64-linux-gnu/libc.so.6
-rw-r--r-- 1 root root 14608 Apr 14 23:16 /lib/x86_64-linux-gnu/libdl.so.2
-rw-r--r-- 1 root root 167240 Feb 19 09:23 /lib/x86_64-linux-gnu/libtinfo.so.5
/ lib(または/ lib64)内のファイルや/ dev内のファイルのパーミッションに問題がある可能性があります。
それらがルートに属していること、およびde lib dir内の少なくとも一部のファイルがすべてのユーザーによって実行可能であることを確認してください。 「クリーン」なOSと比較して、どのOSがすべて実行可能である必要があるかを確認してください。
たとえば、ls -l /lib
を実行するファイルの権限と所有者を確認できます。
誰にでも知らせるために、私はこのエラーメッセージで同じ問題を抱えていました、そして私のための解決策は次のとおりでした:
chmod 755 /
/の許可を755から750に変更したルートフォルダーの1レベル下のフォルダーにあるすべての非表示の「ドット」ファイルのファイル許可を誤って変更しようとしました。
cd/data; chmod o-rwx。*