sudo su-とsudo suの違いは何ですか-


22

RHELマシンで作業しているときは、sudo su -rootに切り替えるために使用します。ある日、タイプミスは私がsudo su --代わりにタイプすることを意味しました-私はコマンドを発行する前と同じフォルダにいたことを除いて、すべてが単一のハイフンと同じであるように思えます(単一のハイフンを見つけます/root)。

他に違いはありますか?同じディレクトリで作業したいことがわかっているシナリオでこれを使用しても安全ですか?

回答:


22

ダブルハイフンを指定するとsudo su、ハイフンなしで実行した場合と同じエクスペリエンスが得られます。

単一のハイフンを渡すことは、-lまたはを渡すことと同じです--login。のmanページでsuは、動作を次のように説明しています。

ユーザーが直接ログインした場合にユーザーが期待する環境と同様の環境を提供します。

これには、ディレクトリをホームディレクトリに設定することや、他の多くの環境変数を設定することが含まれます。

通常、コマンドにダブルハイフンを渡すことは、コマンドラインフラグの終了とフラグ以外の引数の開始を示すために使用されます。たとえば、実行touch -Rすると-Rはのオプションではないというエラーが表示されますがtouch、実行touch -- -Rするとという名前のファイルが作成され-Rます。これは、多くのコマンドラインツールの真である(ls -R再帰を行いますls一方でls -- -R実行されますlsという名前のファイルまたはディレクトリに-R

したがって、これをまとめると、それだけ --を渡すときsuは、基本的に無視し、--オプションをまったく渡さなかったように振る舞います。


それから質問を作成しますがsudo su -sudo su -l異なります。私は唯一のキーを持つにSSH、と私は、特定の他のユーザへの変更にはsudo権限を持っているアカウントでは、sudo su -問題なく使用者は変わりますが、sudo su -lsudo su --login調べることであるが(私は持っていないもの、sudoのパスワードを要求しますsudo -lIを/bin/suNOPASSWDで実行できます)
空手

@karatedog、質問を作成しなかったようです。...-
ワイルドカード
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.