特定のユーザーに '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の秘密キーはありません。