linux共通コマンド(53):suコマンド
1412 ワード
suコマンド
suコマンドは、現在のユーザーIDを他のユーザーIDに切り替えるために使用され、変更するユーザーアカウントとパスワードを入力する必要があります.
構文
オプション
-c<コマンド>または--command=<コマンド>:指定したコマンドを実行すると、元のアイデンティティに戻ります.
-fまたは-fast:cshとtschに適用され、shellが起動ファイルを読み込まないようにします.
-lまたは-login:アイデンティティを変更すると、作業ディレクトリも同時に変更され、HOME、SHELL、USER、lognameも変更されます.また、PATH変数も変更されます.
-m,-pまたは--preserve-environment:アイデンティティを変更する場合は、環境変数を変更しないでください.
-sまたは--shell=:実行するshellを指定します.
--help:ヘルプを表示します.
--version;バージョン情報を表示します.
パラメータ
≪ユーザー|Users|ldap≫:IDを切り替えるターゲット・ユーザーを指定します.
一般的な例
アカウントをrootに変更し、lsコマンドを実行した後、元の使用者に戻ることを終了します.
su -c ls root
アカウントをrootに変更し、-fオプションを新しい実行shellに入力します.
su root -f
アカウントをtestに変更し、作業ディレクトリをtestのホームディレクトリに変更する:su-test
suコマンドとsuコマンドの最大の本質的な違いを詳しく説明します.
前者はrootアイデンティティを切り替えただけで、Shell環境は依然として一般ユーザーのShellである.
後者はユーザとShell環境とともにrootアイデンティティに切り替えられた.
Shell環境を切り替えた場合のみ、PATH環境変数エラーは発生しません.suがrootユーザーに切り替えた後、pwdすると、作業ディレクトリは依然として普通のユーザーの作業ディレクトリであることが分かった.su-コマンドで切り替えると、作業ディレクトリはrootの作業ディレクトリになります.echo$PATHコマンドでsuとsu-以降の環境変数の違いを見てみましょう.このように、現在のユーザから他のユーザに切り替えるにはsuコマンドを使用します.
$pwd/home/test(現在のユーザーディレクトリ)$su******(パスワード入力)#pwd(パスの再表示)/home/test(または現在のユーザーディレクトリ)ただしsu-に変更すると、$pwd/home/test(現在のユーザーディレクトリ)$su-******(パスワード入力)#pwd(パスの再表示)/root(スーパーユーザーディレクトリへの切り替え)の結果となります.
suコマンドは、現在のユーザーIDを他のユーザーIDに切り替えるために使用され、変更するユーザーアカウントとパスワードを入力する必要があります.
構文
su( )( )
オプション
-c<コマンド>または--command=<コマンド>:指定したコマンドを実行すると、元のアイデンティティに戻ります.
-fまたは-fast:cshとtschに適用され、shellが起動ファイルを読み込まないようにします.
-lまたは-login:アイデンティティを変更すると、作業ディレクトリも同時に変更され、HOME、SHELL、USER、lognameも変更されます.また、PATH変数も変更されます.
-m,-pまたは--preserve-environment:アイデンティティを変更する場合は、環境変数を変更しないでください.
-s
--help:ヘルプを表示します.
--version;バージョン情報を表示します.
パラメータ
≪ユーザー|Users|ldap≫:IDを切り替えるターゲット・ユーザーを指定します.
一般的な例
アカウントをrootに変更し、lsコマンドを実行した後、元の使用者に戻ることを終了します.
su -c ls root
アカウントをrootに変更し、-fオプションを新しい実行shellに入力します.
su root -f
アカウントをtestに変更し、作業ディレクトリをtestのホームディレクトリに変更する:su-test
suコマンドとsuコマンドの最大の本質的な違いを詳しく説明します.
前者はrootアイデンティティを切り替えただけで、Shell環境は依然として一般ユーザーのShellである.
後者はユーザとShell環境とともにrootアイデンティティに切り替えられた.
Shell環境を切り替えた場合のみ、PATH環境変数エラーは発生しません.suがrootユーザーに切り替えた後、pwdすると、作業ディレクトリは依然として普通のユーザーの作業ディレクトリであることが分かった.su-コマンドで切り替えると、作業ディレクトリはrootの作業ディレクトリになります.echo$PATHコマンドでsuとsu-以降の環境変数の違いを見てみましょう.このように、現在のユーザから他のユーザに切り替えるにはsuコマンドを使用します.
$pwd/home/test(現在のユーザーディレクトリ)$su******(パスワード入力)#pwd(パスの再表示)/home/test(または現在のユーザーディレクトリ)ただしsu-に変更すると、$pwd/home/test(現在のユーザーディレクトリ)$su-******(パスワード入力)#pwd(パスの再表示)/root(スーパーユーザーディレクトリへの切り替え)の結果となります.