web-dev-qa-db-ja.com

openVZホストでntpdを実行するときのエラー:cap_set_proc()がroot権限を削除できませんでした:

CentOS 6.x | OpenVZ

私のvpsホストでNTPサーバーを実行します。これは可能ですか?

Ntpdを起動しようとすると、すぐに失敗して次のエラーが発生します。

Mar 14 22:47:44 ev1 ntpd[3456]: cap_set_proc() failed to drop root privileges: Operation not permitted

/ etc/sysconfig/ntpdの設定にローカライズしました

# Drop root to id 'ntp:ntp' by default.
OPTIONS="-u ntp:ntp -p /var/run/ntpd.pid -g"

この行を有効にすると、失敗します(おそらく、共有カーネルが特権の変更を許可しないためです)。コメントアウトすると、ntpdは正常に実行されますが、ルートとして実行されます。これは悪いことです。

とにかく、openVZでntpdをntpユーザーとして実行する方法はありますか?確かに、これをOpenVZサーバー上で実行するのは素晴らしいアイデアですが、それでも試したいと思います。

7
Mike B

機能オプション "sys_time " [Users]クロックはOpenVZでどのように機能しますか? に記載されているように、次のコマンドを使用します。

vzctl set 101 --capability sys_time:on --save

もちろん、「101」をコンテナのCTIDに置き換える必要があります。

次に、マシン/コンテナを再起動します。これで、ntpdは「ntp」ユーザーで期待どおりに実行されます。

次に、ntpdサーバーが次のように動作することを確認できます。

/etc/init.d/ntpd status

そして:

ntpq -c as
ntpq -c pe
6
maximd