web-dev-qa-db-ja.com

su-ユーザーはパスワードがないユーザーには機能しません

CentOSでuseradd -M usernameを使用してユーザーを作成しました。さて、su - usernameのようにそのユーザーになりたいです。

そのユーザーのパスワードを要求されますが、そのユーザーのパスワードは設定していません。回避策として、私はrootになる必要があります。そうするとsu - usernameは明らかに機能します。

最初に、それはルートパスワードを要求すると思ったが、そうではない。何か案は?

6
fcukinyahoo

コマンドuseraddでアカウントを作成した後、次のコマンドをrootとして実行して、この新しく作成されたアカウントのパスワードを設定する必要があります。

$ passwd <username>

須藤

あなた(userZ)がuserXのパスワード[〜#〜]と[〜#〜]を提供せずに別のユーザー(userX)になりたいと確信している場合最初にrootになる必要はありませんが、Sudoを探している可能性があります。

CentOS Wikiは、この記事のタイトルが付けられたこの記事で質問しているこのトピック全体をカバーするのに非常に優れています。 ルートになる方法

ここに概要があります。

  1. パスワードを入力せずに、他のユーザーになるなど、rootとして何でもできる機能が必要です。次のルールをsudoersファイルに追加します。/etc/sudoers注:コマンドvisudoをrootとして使用してsudoersファイルを編集します!

    userZ    ALL=(ALL)       ALL
    

    上記の方法でも、userZのパスワードを要求されます。代わりにこのルールをsudoersに追加することで、この保護を取り除くことができます。

    userZ ALL=NOPASSWD: ALL
    
  2. onlyを使用して、Sudoを使用する特定のユーザーになる機能を分割する必要があります。

    userZ ALL=(root) NOPASSWD: /bin/su - userX
    

    注:上記は、userZがsuコマンドも実行するためにパスワードを使用する必要があるようにすることもできます。上記はuserZだけをuserXにしましょう。

10
slm

そのユーザーのパスワードを要求されます

それがどのように機能するかです。 rootでない場合、パスワードなしで別のユーザーのIDを引き継ぐことはできません。

CentOSにSudoがインストールされている場合、追加できます

youruserid ALL = (username) NOPASSWD: ALL

visudo、次にSudo -u username bash のようなものです su - username

(編集:チェックなしでSudo仕様を入力しようとしました)

1
jthill