web-dev-qa-db-ja.com

rootにsuできないのはなぜですか?

Sudo passwd rootを使用してrootのパスワードを正常に設定した後、suをrootにしようとしましたが、応答なしで失敗しました。

ubuntu@VM-44-117-ubuntu:~$ Sudo su root
ubuntu@VM-44-117-ubuntu:~$

ユーザー名が変更されていないことがわかります。

次に、su rootを使用しようとしましたが、ユーザー名は変更されませんでした。

ubuntu@VM-44-117-ubuntu:~$ su root
Password: 
ubuntu@VM-44-117-ubuntu:~$ 

Suを正しく実行するにはどうすればよいですか?

1
jansma

「ルート」部分はデフォルトで想定されています。そう:

doug@s15:~$ Sudo su
[Sudo] password for doug:
root@s15:/home/doug# exit
exit
doug@s15:~$

もちろん、私は(発掘して)Sudoのメンバーなので、rootになることができます:

doug@s15:~$ groups
doug adm cdrom Sudo dip plugdev lxd lpadmin sambashare libvirtd

ただし、切り替えるユーザー名を指定することもできます。例:

doug@s15:~$ Sudo su root    
root@s15:/home/doug# exit
exit
doug@s15:~$ Sudo su richard
richard@s15:/home/doug$ exit
exit

詳細については、 su man ページを参照してください。

さて、これらすべてが言われていると、システムの動作は奇妙に思えます。ユーザーrichardのSudo権限を削除した場合:

doug@s15:~$ Sudo deluser richard Sudo
Removing user `richard' from group `Sudo' ...
Done.

それから、別の端末でrichardとしてログインし、suを使用してみてください:

richard@s15:~$ groups
richard adm cdrom dip plugdev lxd lpadmin sambashare libvirtd
richard@s15:~$ Sudo su
[Sudo] password for richard:
richard is not in the sudoers file.  This incident will be reported.
richard@s15:~$

なぜあなたは何も得られないのですか? (元の質問でしたか?)
お使いのコンピューターは仮想であり、別の場所でホストされていますか?多くの場合、ホスティングサイトはルートなどに対して奇妙なことをします。 suのバージョンはこれと一致しますか?:

-rwsr-xr-x 1 root root 40128 May 16  2017 /bin/su
4
Doug Smythies

これを完全に回避でき、システムのセキュリティを損なうことはありません。ルートシェルが必要な場合:

Sudo -s

これで、rootとしてシェルにいます。ログアウトして通常どおりに戻ります。確かに、rsyncのようなサービスを実行してネットワーク上のコンピューターに設定または復元する必要がある場合など、rootがうまく機能するパスワードを持っている場合があります。そのような場合に私が通常行うことは、プッシュされる代わりにサービスをプルすることです。例えば、

Sudo rsync -a you@remotehost:/root_owned_dirs/ /root_owned_dirs/

両方の側でルート権限が必要な場合、外部の世界への露出が最も少ないマシンでルートパスワードを設定し、より露出した側から引き出します。そうすれば、急いでいると、システムを攻撃するのが難しくなります。

その場合:

Sudo passwd root

パスワードを設定してから、

su

ルートとしてシェルがあります。

私の秘密の議題愚かな習慣を殺す「Sudo su」を実行することです。これは文字通り、

「ああ、コンピューター、今よりも大きな特権を与えてくれたので、私はあなたに大きな特権を要求するかもしれない。」

これはひどいではなく、ただばかげています。

1
Hack Saw

これを試して:

前と同じように:

$ Sudo su
[Sudo] password for doug:

これにより、rootの新しいパスワードの入力が求められます。

root@s15:/home/doug# passwd
[[new password for root]]

以前のように終了

$ exit

ここで、上記で指定したパスワードを使用してrootとしてログインしてみてください

$ su
0
Eric Mintz