2011-01-31 21 views
0

これは新しく質問される可能性があります。私は自動的にユーザーを切り替えるしたいと思います。私は、「期待する」プログラミングを使用できることを知っています。他の方法はありますか?ユニックスのユーザーを自動的に切り替える

+1

もう少しエキスパンドしてもよろしいですか?どのような方法でユーザー間での切り替えをしたいのですか?ターミナルでは、デスクトップセッションは、デスクトップ/サーバーを削除しますか? – mhitza

+0

@mhitza、私はコンソール/端末で、 "su"や他の方法で[可能な場合]を使用してユーザーを切り替えたいと考えています。 –

+0

'su - foobar'をユーザ' foobar'に切り替える(あなたの最後のコメントに基づいて既に知っているように) –

答えて

5

は、すでに述べた:他のユーザーアカウントに

su - <username> 

しかし、より多くのアクセス制限は、sudoを使用して付与することができます。

sudo -u <username> <command> 

須藤は多くのオプションをサポートしています。/etc/sudoersとman sudoersを参照してください。

いつものsuやsudoのような任意のツールを使用せずに、別のユーザーとして実行可能ファイルまたはスクリプトを実行するには、またはあなたの現在の目的のために独自のツールを構築するために、setuidのモードを使用します。たとえば

chown <username> <executable> 
chmod u+s <executable> 
./<executable> 

を:

$ id -un 
atnnn 
$ cp /usr/bin/id . 
$ sudo chown nobody id  
$ sudo chmod u+s id 
$ ./id -un 
nobody 
0

これは実際に何を望んでいるのか、どのようにマシンにアクセスしているのかによって異なります。ウィンドウ(xtermsなど)を作成し、少なくとも異なるユーザーとして実行するためには、少なくとも作成した後に、異なる端末を配置するだけで十分です。 'su'や(より良い) 'sudo'を使って別のユーザーになることができます。 (私はあなたが他のユーザーになる権限を持っていると仮定しています。これは同僚のIDではなく、試してみる必要のあるテストユーザーのものです)

ターミナルセッション1つのウィンドウで異なるユーザーとして作業するには、ちょっとした作業が必要です。これを行うプログラムがあります:以前はshl(シェルレイヤー)でしたが、現代の同等物はGNU Screenだと思います。私はGNU Screenを使っていませんでした(そして1990年頃からshlを使っていません)。私は、複数のユーザーとして作業する必要があるときに、異なるユーザーと接続された、または異なるユーザーとして実行されている異なる端末で作業します。 suコマンドを使用して

関連する問題