Windows system >> Windowsの知識 >  >> Linuxシステムチュートリアル >> Linuxについて >> Linuxでのsuコマンドの例では、

Linuxでのsuコマンドの例では、

  
について説明しています。

Linuxでのsuコマンドは、主にユーザーの切り替えに使用されますが、一般ユーザーとスーパーユーザーを切り替えることができます。 suコマンドを使用した後、他のユーザーがまだいるか小さなシリーズのLinuxでsuコマンドの例を見てみましょう。

オリジナルQ:Linuxは、Iルートとしてログインし、ログインし、rootユーザーに切り替えるためにsuコマンドを使用するには、他のユーザー、同じことが何がない、同じものならば、私は他の後にsuコマンドを実行しますユーザーはまだシステムにいませんか? su、linuxプロンプト、他のユーザーがログインした後、他のユーザーを削除しようとしていますか?なぜ

答え:それをあなたに説明させてください。 Unixシステムでは、ユーザーがログインすると、ユーザーごとにシェルプロセスが作成され、対話的な機能が提供されますbashを使用している場合、シェルプロセスはbash、kshが使用され、プロセスはksh、その他のシェルは同じです。

プロセスのプロセスPCB(プロセス制御ブロック)には、実際のユーザーIDと実効ユーザーIDの2つの値があり、いわゆる実際のユーザーIDはプロセスのIDを表します。たとえば、私は現在rootユーザーですが、作成したプロセスの実際のユーザーIDはroot IDで、通常は0です。有効なユーザーIDとは、現在そのプロセスを使用する権利を持っているユーザーのIDのことです(たとえば、車を所有している場合はグループ化します)、この車の所有者は私ですが、許可は私のものではありません。

一般的に実ユーザIDと有効なユーザIDは同じであり、suコマンドには、コマンドの所有者の許可でプロセスを実行できる、つまりプロセスの実ユーザIDを作成できるという機能があります。有効なユーザーIDが同じではありません。 suコマンドを表示するには、ls -lを使用できますが、所有者のxパーミッションビットのs(小)でなければなりませんpasswdコマンドも同じで、同じ機能を持っています。このsビットは、コマンドを実行したユーザーがそのコマンドの所有者の権限で実行できることを意味しますsビットを取り消すと、suの所有者だけがsuを実行できます。

では、それについてさらに説明しましょう。

rootとしてsuを実行すると、suコマンドは現在のシェルプロセスを親プロセスとして新しいシェルプロセスを作成しますこのシェルプロセスは、suとrootのユーザーに提供されます。シェルプロセスはまだ存在します、そしてその逆も同様です、前のユーザのシェルプロセスが閉じられなかったので、あなたは質問をした理由です、あなたは終了するためにexitを使うことができます。代わりに、前のユーザーに戻ります。これらは親プロセスと子プロセス間の関係であるため、子プロセスの終了はもちろん親プロセスの実行には影響しません。しかし、強制的に親プロセスを強制終了した場合は、直接終了します。

実際、多くの人がwhoamiとi amの違いを理解していないため、役割は異なります。

who iは、現在のシェルプロセスの実際のユーザーIDを表示します。

whomaiは、現在のシェルプロセスの有効なユーザIDを表示します。

多くの場合、2つの出力は同じなので、2つのコマンドは同じだと思います。

例:root @ yunhw-Aspire-4750G:〜#私は誰ですか

root pts /0 2011-12-10 13:13(:0.0)

root @ yunhw-Aspire-4750G:〜#whoami

root

root @ yunhw-Aspire-4750G:〜#ps -ef

root 2939 2935 0 13:18 pts /0 00:00:00 bash

root @ yunhw-Aspire-4750G:〜#su - yunhw

yunhw @ yunhw-Aspire-4750G:〜$だれが私です

root pts /0 2011-12-10 13:13(:0.0)

yunhw @ yunhw-Aspire-4750G:〜$ worami

yunhw

root @ yunhw-Aspire-4750G:〜#ps -ef

root 2939 2935 0 13:18 pts /0 00:00:00 bash

yunhw 2958 2939 0 13:19 pts /0 00 :00:00 su - yunhw

yunhw 2966 2958 7 13:19 pts /0 00:00:00 -su

root @ yunhw-Aspire-4750G:〜#sudo kill -9 2939

このコマンドが実行されると、完全に終了します。

上記はLinuxでのsuコマンドの使用法ですが、suコマンドは問題の具体的な使用法を説明するためのもので、問題に遭遇したユーザーへの参照も提供します。 ?

Copyright © Windowsの知識 All Rights Reserved