2016-10-22 14 views
1

パスワードをパラメータとしてsudoコマンドを実行する方法を理解しようとしていました。パスワードが正しいことをしかし: osx-sudo with password execute

echo mypassword | sudo -S command 

Use sudo with password as parameter

しかし、OS X上、それは言う保ち、この参照 "不正なパスワードの試みはsudo" を使用していました。

何が間違っていますか?

+4

ちょっとした発言:これは非常に悪い考えです。たとえば、これをコマンドラインに入力すると、パスワードはシェル履歴に保存されます。私はあなたが何をしているのか分かりませんが、あなたはトラブルを求めていると思います。 – tamasgal

答えて

1

コメントの中に既に指摘されているように、非常にのアカウントのパスワードを残すので、悪い考えです。代わりに、スクリプトから特定のコマンドを実行する必要がある場合は、特定のユーザののコマンドを入力しなくても実行できるように、コマンドを定義することができます。パスワードに

youruser yourhostname = (root) NOPASSWD: /some/path/your/command 

それとも、本当に感じていない場合:

だから、あなたがタグNOPASSWDあなたのそのいずれかの特定のユーザ、単一、特定のコマンドのエントリを含めるように/etc/sudoersを編集する必要がありますあなたはおそらく実行その能力をリークします

youruser ALL = (root) NOPASSWD: /some/path/your/command 

その方法:お使いのコンピュータのホスト名を入力するように、その後行きます1つのコマンドをパスワードとして漏えいする代わりに、のコマンドをrootとして実行する可能性があります。