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/sudoers
COMMANDSセクションが表示されます。具体的には:
## 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 su
rootアカウントのパスワードを求めるプロンプトを表示せずにrootアカウントに切り替えることができます。