web-dev-qa-db-ja.com

Ubuntuで「su」コマンドが機能しないのに、他のLinuxディストリビューションでは機能しないのはなぜですか?

ターミナルでsuコマンドを入力すると、

 su: Authentication failure

Ubuntuでこれが機能しないのはなぜですか?別のLinuxディストリビューション(Parrot OS)でこのコマンドを試しましたが、動作します。

10
giga

Ubuntuでは、デフォルトでrootにパスワードがないためです。

引数がない場合、suは「ユーザーをルートに切り替える」ことを意味し、そのためには、自分ではなくルートのパスワードを入力する必要があります。 rootにパスワードを与えない限り、パスワードはないため、文字通りrootとしてログインすることはできません。

背景を次に示します。

Unixの世界では、Unixのマルチユーザーの遺産により、通常のユーザーと管理者の間には常に大きな隔たりがありました。 Unixでとられるアプローチは、必要な場合にのみスーパーユーザー特権を付与することです。これを行うには、suおよびSudoコマンドが一般的に使用されます。

数年前まで、ほとんどのLinuxディストリビューションはこの目的のためにsuに依存していました。 suはSudoが必要とする構成を必要としませんでした。また、Unixではrootアカウントを持つことが伝統的です。これにより問題が発生しました。ユーザーは不必要にルートとして動作するようになりました。実際、一部のユーザーはシステムをrootユーザーとして排他的に操作しました。これは、これらの迷惑な「許可が拒否されました」メッセージをすべて排除するためです。これは、LinuxシステムのセキュリティをWindowsシステムのセキュリティに下げる方法です。良い考えではありません。

Ubuntuが導入されたとき、その作成者は別の方法を取りました。デフォルトでは、Ubuntuはルートアカウントへのログインを無効にし(アカウントのパスワードの設定に失敗する)、代わりにSudoを使用してスーパーユーザー権限を付与します。最初のユーザーアカウントには、Sudoを介したスーパーユーザー特権へのフルアクセスが許可され、後続のユーザーアカウントにも同様の権限が付与される場合があります。

Linuxコマンドライン

切り替えるユーザーのパスワードがわかっている場合は、suを使用してユーザーを切り替えることができます。たとえば、su pixieを使用してバックアップユーザーとしてログインできます。

通常は、Sudoと独自のパスワードを使用して認証するか、ルートシェルを起動するためにSudo -iを使用する必要があります

20
Zanna

他のディストリビューションでは、それらをインストールするときに、通常、ユーザーアカウントのパスワードと同様にrootパスワードを設定するように求められるためです。 Ubuntuはセットアップ中にrootパスワードを要求しません。UbuntuでSudoアカウントを無効のままにしておくrootアクセス権を持つユーザーのユーザーアカウントパスワードのみが要求されます。これを有効にしたい場合は、rootコマンドを有効にするrootアカウントを有効にするsuアカウントのパスワードを設定します。

Sudo passwd root

お役に立てれば!

9
Terrance

デフォルトでは、suにはパスワードがありません。そのコマンドを実行すると、マシンの隠しrootアカウントにログインしようとしています。 Parrot OSはrootアカウントを使用するか、パスワードをユーザーのアカウントに設定すると仮定します。そうしないと機能しません。

suを使用する場合は、Sudo passwd rootを実行し、suでログインするために使用するパスワードを設定できます。ただし、これにより、rootユーザーが完全なアカウントユーザーとして有効になりますので、お勧めしません。

代わりに、そのシェルで永続的なルート特権が必要な場合は、Sudo suを使用します。これにより、自分のアカウントとパスワードを使用してrootになることができます。 Sudo -iは同じ効果があります(代わりにこれを使用することをお勧めします)。

4
TheWanderer

簡単に

ルートアカウントはUbuntuでデフォルトで無効になっているため、パスワードが設定されていないため、認証エラーが発生します

Ubuntuのルートになるには、これを使用できます

Sudo -i
2
jiipeezz

su(スーパーユーザー認証)は、セキュリティおよび安全な管理用に構成されていません。 ubuntuをインストールすると、Sudoを「最初のユーザー」としてすべての管理アクセス権が得られます[1000]。 Sudoを持つ「ルート」特権。 「ゲストユーザー」[1001,1002,1003など]は、Sudoを使用してスーパーユーザー認証を行うことができません。管理者['root'特権を持つユーザー]は、スーパーユーザー特権のために他の 'ゲストユーザー'を 'グループ'に追加する必要があります。

Ubuntuでは、suを使用してすべてのSudoauthenticationコマンドを実行できます。

他のLinuxディストリビューションシステムでは、「rootユーザー」を[500]として、「最初のユーザー」を[501]として読み取ります。

suauthenticationを使用すると、rootユーザーとして任意のファイルまたはフォルダーを変更および削除できます。

スーパーユーザーとしてログインするには

Sudo -i

ただし、推奨されません。

1
Rohit Tak