bashからzshに切り替えた後にroot権限を取得する方法は?

bashからzshに切り替えた後にroot権限を取得する方法は?

奇妙なことに、bashからzshに切り替えた後、rootにアクセスできません。

normalusername私は通常、権限の低い一般ユーザー(ユーザー名は)としてログインし、「su」を使用してrootとしてログインします。みんな大丈夫です。ただし、ルートシェルをbashからzshに切り替えた後にsuを介してログインしようとすると、次の結果が表示されます。

normalusername@(none):~$ su
Password: (enter the correct password)
Cannot execute zsh: No such file or directory

MacでrootとしてSSH経由で直接接続すると、次のような結果が表示されます。

localhost:~ myname$ ssh -lroot 106.186.120.20
[email protected]'s password: (enter the correct/incorrect password)
Permission denied, please try again.

正しいパスワードを入力したかどうかにかかわらず、引き続き表示されます。

そのため、意図的に一般ユーザーに間違ったパスワード「su」を入力して、次のような結果を得ました。

normalusername@(none):~$ su
Password: (entered a wrong password and pressed enter)
(pressed enter)
su: Authentication failure

間違ったパスワードを入力しましたが、何も表示されず、2回入力したところ結果が出enterました。su: Authentication failure

何度も試してみましたが、結論はこうです。

  1. 正しいパスワードを入力すると、「zshを実行できません:ファイルまたはディレクトリがありません」というメッセージが表示されます。
  2. enterパスワードを誤って入力すると、2〜6回入力するまで何も表示されません。

これは私が単に「正しいパスワード」を忘れていないことを意味するようです。しかし、どのようにルートにアクセスできますか?

の項目は/etc/passwd次のとおりです。

root:x:0:0:root:/root:zsh

ベストアンサー1

努力する: cd /usr/bin; su。これはzshに絶対パスを提供していないためです。既存のディレクトリに変更すると、su一部のシステムで動作します。一例:PWDzsh

% su
Password:
su: zsh: No such file or directory
% cd /usr/local/bin
% su
Password:
# print $OSTYPE
freebsd10.0
#

おすすめ記事