web-dev-qa-db-ja.com

パスワードなしのユーザーが別のパスワードなしのユーザーに変更することを許可する

私には2人のユーザーdevTomcatがあり、どちらにもパスワードがありません。

devを許可するには 1 行う su - Tomcat彼に資格情報を入力させる必要なしに?

1 SSHキーファイルで接続します

6
Nifle

これが私がやったことです。

ファイル/etc/sudoers.d/devを作成しました

含む:

# allow user dev to become user Tomcat
# invoked with [dev@Host ~]$ Sudo su - Tomcat
dev ALL = (root) NOPASSWD: /bin/su - Tomcat

chmod 0440 /etc/sudoers.d/devでファイルの権限を変更しました

開発者の.bashrcalias Tomcat='Sudo su - Tomcat'にエイリアスを作成しました

これにより、コマンドラインでTomcatと入力してパスワードを入力する必要がない(または実際にパスワードを入力する必要がない)devユーザーがTomcatユーザーになることができます。

5
Nifle

devTomcatとして任意のコマンドを実行できるようにする場合は、suを気にせず、Sudoを使用します。次の行をsudoersファイルに追加します(visudoコマンドを使用):

dev ALL = (Tomcat) NOPASSWD: ALL

ユーザーdevとしてSudo -iu Tomcatを実行し、Tomcatとしてログインシェルを実行します。

タグにSudoが追加されました。 sudoersファイルで、許可されたユーザーにdevを追加し、必要に応じて、実行を許可するコマンドを制限できます。そのパスワードは不要です。次に、「Sudo su-Tomcat」と入力するだけです。

visudoを実行して、次の行を追加します。

dev ALL = NOPASSWD: /usr/bin/su - Tomcat

Sudoersのmanファイルには、さらに多くの情報と例があります。

5
Jenny D

私はSudoの組み込みユーザー仮定ツールを使用してきました。

どこ

  • devはsudoerユーザー名、または
  • devはsudeoerグループ名です(Sudo構成はこれを%devと呼びます)
  • Tomcatは宛先ユーザーです

/!\注意:Sudoの設定ファイルは常にvisudoで検証してから書き込むか、常にvisudoでSudoの設定ファイルを編集してください。無効なSudo構成ファイルは、Sudoを壊れた状態でラッチし、それ以上の呼び出しを防ぎます。

Sudo env EDITOR=nano visudo -f /etc/sudoers.d/runas-Tomcat

#/etc/sudoers.d/runas-Tomcat
dev ALL=(Tomcat) NOPASSWD: ALL
%dev ALL=(Tomcat) NOPASSWD: ALL

このようなSudoの使用は、次のように似ています。フラグ--set-home-H)はオプションであり、$HOMEでターゲットユーザーの家を検索して/etc/passwdを修正します。フラグ--Shell-s)または--login-i)はオプションであり、-syour Shellを使用しており、くつろいでいる必要があります、-iは、代わりに/etc/passwdで指定されたターゲットユーザーシェルを使用します。たとえば、/usr/sbin/nologinを使用して、ログインを拒否します。 -s-iの両方が指定されていない場合、Sudoは実行するコマンドを指定するために追加の非フラグ引数を必要とします。

dev@localhost ~ $ Sudo --set-home --Shell --user Tomcat
tomcat@localhost /home/dev/ $ cd
Tomcat@localhost ~ $

または短い形式で

Sudo -u Tomcat  echo whoami
Sudo -Hsu Tomcat  # enter Tomcat with your Shell and their home
1
ThorSummoner

私はフォームを使用しています

username ALL=(ALL) NOPASSWD: /bin/su targetuser
0
ThorSummoner