2011-09-03 10 views
2

スクリプトを使用してシステム時間を変更しようとしています。/bin/dateを使用してシステム時間を変更する

コマンドdate -s "<date>"は、ユーザwww-dataとしてコマンドを実行するため、基本的には動作しません。私は/etc/sudoersファイルを編集してユーザーwww-dataにroot権限を与えましたが、私はまだ変更や設定ができません。

何故その理由が考えられますか?

+3

「sudoers」ファイルを設定して、www-dataがスーパーユーザー特権ではなく「date」を実行できるようにしてください。アプリケーションではありません。 –

+0

これが良い考えかどうか検討してください。 'ntpd'はシステムの時計を自動的に維持します。 –

+0

ntpdはクールですが、この場合は手動で変更する必要があります。 – thetux4

答えて

4

は、/ etc/sudoersファイルを編集した後、

sudo date -s 

コマンドを実行します。これは、 "ルート"ユーザーからの実際の日付コマンドを実行します。

/etc/sudoersを編集するだけでは、ユーザーにrootを与えないので、十分ではありませんが、sudoユーティリティを使用しているユーザーからrootになることができます。

+2

通常、 'sudo'はパスワードを使用するときにパスワードを要求します。 'NOPASSWD'タグを使ってこれを無効にすることができます。 –

+0

'www-data ALL =(ALL:ALL)NOPASSWD:ALL'はこのように変更されましたが、まだ動作しません – thetux4

+0

thetux4、' date -s'をどうやって起動しますか?同じ方法で 'id'ユーティリティを起動し、その結果を投稿してみてください。 – osgx

0

はまた、そのライン

Default requiretty 

のsudoersファイルにbecommentedなければならない注意してください。それ以外の場合は、外の世界からスクリプトを呼び出そうとすると、

sudo: sorry, you must have a tty to run sudo 

というメッセージがSTDERRに送られます。

これは私の問題でした。

関連する問題