web-dev-qa-db-ja.com

「root」ユーザーは存在しませんか?

suコマンドを実行すると、ターミナルは以下を返します。

user 'su' does not exist

Rootユーザーを追加するにはどうすればよいですか?誰でもこれに答えることができますか? Sudo adduser suを試しましたが、その後、同じ問題が発生します。

2
Ward Segers

Sudo suでルートになります(例として)。または、管理者ユーザーを終了するまで永続的に管理者特権に昇格させます。例:

rinzwind@discworld:~$ Sudo su
[Sudo] password for rinzwind: 
root@discworld:/home/rinzwind# 

また、技術的には、Ubuntuにはアクティブなrootユーザーがいません。 buntu RootSudo wiki ページから:

Linux(および一般的なUnix)には、Rootという名前のスーパーユーザーがいます。 Rootに相当するWindowsはAdministratorsグループです。スーパーユーザーは何でもできるので、スーパーユーザーとして日常業務を行うのは危険です。コマンドを誤って入力すると、システムが破壊される可能性があります。理想的には、手元のタスクに必要な特権のみを持つユーザーとして実行します。場合によっては、これは必ずしもルートですが、ほとんどの場合は通常のユーザーです。

デフォルトでは、ルートアカウントのパスワードはUbuntuでロックされています。つまり、ルートとして直接ログインすることも、suコマンドを使用してルートユーザーになることもできません。ただし、ルートアカウントは物理的に存在するため、ルートレベルの特権でプログラムを実行することは可能です。これがSudoの出番です。許可されたユーザー(通常は「管理」ユーザー。詳細についてはAddUsersHowtoを参照してください)が、ルートパスワードを知らなくてもルートとして特定のプログラムを実行できます。

これは、端末でroot権限を必要とするコマンドにSudoを使用する必要があることを意味します。通常、ルートとして実行するすべてのコマンドにSudoを追加します。より広範な使用例については、以下を参照してください。同様に、ルート権限(ネットワーク構成アプレットなど)を必要とするGUIプログラムを実行する場合、グラフィカルなSudoを使用すると、パスワードの入力も求められます(以下で詳細を説明します)。 Sudoがパスワードを要求するとき、ルートアカウントのパスワードではなく、ユーザーのパスワードが必要なことを覚えておいてください。

4
Rinzwind

Sudo -i

このコマンドにより、ルートシェルに到達できます。

他のソリューションの詳細な説明と比較 here

                                                     corrupted by user's 
                HOME=/root      uses root's PATH     env vars
Sudo -i         Y               Y[2]                 N
Sudo -s         N               Y[2]                 Y
Sudo bash       N               Y[2]                 Y
Sudo su         N               N[1]                 Y


[1] PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
probably set by /etc/environment
[2] PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/X11R6/bin
5
thefourtheye