0

Ubuntu にwondershaperをインストールしました。これはインターネットの速度を調整するプログラムです。自宅にいないときにすべての帯域幅を使用する意地悪な兄弟がいて、インターネットが制限されています。起動時に実行される bash ファイルを作成したいと考えています。彼らがコンピューターの電源を入れたとき、これらは私が通常端末に入力するコードです

sudo wondershaper eth0 3 3
//It asks me for my password

The bash file will be something like this
#!/bin/bash
sudo wondershaper eth0 3 3

しかし、彼が端末でパスワードを要求したときにパスワードを与えるコードは何ですか? 私が入力せずに?

4

2 に答える 2

1

他の人が言ったように、パスワードを平文のままにしておくのは悪い考えです。このスクリプトは、init スクリプトの一部として root として実行する方がはるかに優れています。

スクリプトは、sudo一時的なスーパーユーザー権限を取得するコマンドに依存しています。

スクリプトを通常のユーザー アカウントで実行する代わりに、root のアカウントで実行します。そうすれば、root 権限を付与するためにパスワードを入力する必要がなくなります。/etc/init.d起動スクリプト用の Ubuntu のディレクトリであるからスクリプトを実行します。rc.localおそらく、(他のすべての init スクリプトが実行された後に実行されるファイル) のような既存のスクリプトに追加することをお勧めします。

root はスーパーユーザー権限を要求する必要がないため、sudoスクリプトの一部を省略します (例:sudo echoになるだけ)。echo以上です!

あなたは Linux を初めて使用するということでした。そのため、開始に役立つ 2 つのリソースを以下に示します。

于 2012-06-19T13:37:39.113 に答える
0

できません。ファイルにパスワードを平文で書く必要があるため、安全ではありません。

/etc/sudoers を変更して、ユーザーがパスワードなしで sudo を使用できるようにする必要があります。次の行を追加します。

$USER ALL=(ALL) NOPASSWD: /usr/bin/wondershaper

$USER はユーザー名です。

それ以外の場合は、それを /etc/init.d/rc.local に追加すると、起動時にルートとして実行されます。

于 2012-06-19T13:26:47.603 に答える