パスワードを入力せずに「su」でログイン

パスワードを入力せずに「su」でログイン

su端末で1行のコマンドを使用してログインする方法は?私はこのsudoコマンドがこれを行うことができることを知っています:

echo [password] | sudo -S [command]

suしかし、コマンドでヒントを与えようとすると、次のようになります。

echo [password] | su [username]

エラーが発生します。

standard in must be tty

アカウントへのアクセス権がないため、ファイルsudoにアクセスまたは編集できませんsudoers

デフォルトでは、正しい構文は次のとおりです。

su [username]

私がしたいのは、su毎回パスワードを入力せずにエイリアスにコマンドを追加することです。

ベストアンサー1

6年2ヶ月前質問

どうやってできるかログイン端末に1行のコマンドがありますか?

これは使用するためのものです。Sudo毎回パスワードの入力を求めないでください。

/etc/sudoersファイル経由 visudo または編集sudo visudo

少なくともRHEL / CentOS 7では、ファイルの下部に/etc/sudoersCOMMANDSセクションが表示されます。具体的には:

## Allows people in group wheel to run all commands
%wheel  ALL=(ALL)   ALL

## Same thing without a password
# %wheel    ALL=(ALL)   NOPASSWD: ALL

デフォルトでは... RHEL / CentOSの場合、他のLinuxディストリビューションでこれをどのように使用するかはわかりません...最初の項目をコメントアウトし、構文が機能するように行を作成し#ますNOPASSWD: ALL。または、次の構文を入力してください。

つまり%wheel、このアカウントはホイールで定義されたグループです/etc/group。行を追加し、%users次のすべてのアカウントを許可するように作成できます。ユーザー以下を使用する場合は、このパスワードのない機能をグループ化してください。ユーザーこのようにグループ化されます(gid 100)。

~のためどうやってできるかあなた、%wheel文法と%手段ホイールグループです。特定のユーザーアカウントを指定するには、%グループ名を削除してそのユーザーアカウントに置き換えます。たとえば、

## Allow root to run any commands anywhere
root    ALL=(ALL)       ALL

ユーザーアカウント名が次の場合にのみこれを実行してください。abc123

abc123  ALL=(ALL)   NOPASSWD: ALL

そのユーザーアカウントがホイールグループの一部であり、このステートメントの上で有効な場合は、このステートメントを上書きまたは元に戻さないようにファイルの一番下に置くことをお勧めします。ユーザーファイルの上部にある説明です。

使用時にパスワードプロンプトをキャンセルする方法がわかりません。上記と同じ方法ですが、

あなたができることは、sudo su <username>パスワードを求めるメッセージを表示せずにsudo suパスワードなしでrootアカウントを実行して実行することです。

私が説明したのは、優れたセキュリティを維持しながらパスワードプロンプトのない機能を取得する方法を知っている最良の方法です。/etc/sudoersここでは、この文書はセキュリティに焦点を当てています。

ファイル権限は、権限440を持つ所有者とグループの両方に適用する必要/etc/sudoersがあります。root-r--r-----

メモ:を使用すると、abc123 ALL=(ALL) NOPASSWD: ALLユーザーアカウントは操作を実行し、sudo surootアカウントのパスワードを求めるプロンプトを表示せずにrootアカウントに切り替えることができます。

おすすめ記事