特定のユーザーに 'su'できるようにしたいので、パスワードを入力せずにコマンドを実行できます。
例えば:
ログインがuser1で、「su」を実行したいユーザーがuser2の場合:
次のコマンドを使用します。
su - user2
しかし、それは私にプロンプトが表示されます
Password:
open -na Skype
あなたのために動作しませんか?
特定のユーザーに 'su'できるようにしたいので、パスワードを入力せずにコマンドを実行できます。
例えば:
ログインがuser1で、「su」を実行したいユーザーがuser2の場合:
次のコマンドを使用します。
su - user2
しかし、それは私にプロンプトが表示されます
Password:
open -na Skype
あなたのために動作しませんか?
回答:
sudo
あなたのためだけにそれを行うことができます:)
ただし、少し設定する必要がありますが、一度行うと、次のようになります。
sudo -u user2 -s
そして、パスワードを入力せずにuser2としてログインします。
sudoを構成するには、次のようにして構成ファイルを編集する必要がありますvisudo
。注:このコマンドは、vi
テキストエディターを使用して構成を開きます。これに自信がない場合はexport EDITOR=<command>
、次の行を実行する前に(を使用して)別のエディターを設定する必要があります。別のコマンドラインエディターが簡単だと見なされることもあるnano
ので、そうしますexport EDITOR=/usr/bin/nano
。通常、次のスーパーユーザー権限が必要ですvisudo
。
sudo visudo
このファイルは異なるセクション、エイリアス、デフォルトで構成され、最後にルールがあります。これは、新しい行を追加する必要がある場所です。したがって、ファイルの最後に移動して、これを追加します。
user1 ALL=(user2) NOPASSWD: /bin/bash
また、置き換えることができます/bin/bash
でALL
、その後、あなたは、パスワードなしではuser2として任意のコマンドを起動できます sudo -u user2 <command>
。
あなただけのユーザーに切り替えることができるようにしたい場合
user1 ALL=(ALL) NOPASSWD: /bin/bash
Skypeに関するあなたのコメントを見ました。Skypeをsudoの構成ファイルに直接追加することを検討できます。アプリケーションフォルダーにSkypeがインストールされていると仮定します。
user1 ALL=(user2) NOPASSWD: /Applications/Skype.app/Contents/MacOS/Skype
次に、ターミナルから呼び出します。
sudo -u user2 /Applications/Skype.app/Contents/MacOS/Skype
su - user2
代わりにsu user2
、コマンドは、おそらくすべての関与させるべきでsudo -u user2 -i
あるuser2として最初のログインをシミュレートするために、
2番目のアカウントに公開/秘密sshキーを設定し、最初のアカウントにキーを保存します。
次に、次のようなコマンドを実行できます。
ssh user@localhost -n /Applications/Skype.app/Contents/MacOS/Skype &
1つのユーザーアカウントで2つのインスタンスが実行されており、そのプログラムによって読み取り/書き込みされたファイルが競合する可能性があるため、Skypeが混乱するという問題がまだあります。また、必要に応じて十分に機能する可能性があり、2番目のSkypeインスタンスを実行するためにiPod touchは必要ありません。
expect
、対話をスクリプト化するようなツールを使用する方法よりもはるかに安全です。sudo su - blah
パスワードを使用して入力するだけです。他の答えは、これをコメントとして保持するのに十分なほどsudoをカバーすると思います。
sudo -u user2 <...>
)には、リモートで使用できないという利点があります。これは、セキュリティに役立つ可能性があります。盗難される可能性のあるuser1の秘密キーはありません。