NTP权限问题

时间:2016-04-28 08:26:36

标签: linux cron sudo centos7 ntp

我向团队中的每个人提供了一个centos 7虚拟机的副本。时间可能会不同步。我发现我可以使用以下命令手动更新时间:

[no_sudo@rolling ~]$ ntpdate pool.ntp.org
26 Apr 18:10:11 ntpdate[25928]: bind() fails: Permission denied
[no_sudo@rolling ~]$

但是我只能将其更新为sudo。我为团队制作的命令之一运行了一些自动化测试,并使用date.time作为名称。

如何以太网自动更新虚拟机上的时间,或者更改该服务的权限,以便任何人都可以无论运行它还是权限。

谢谢!

3 个答案:

答案 0 :(得分:1)

"我如何在虚拟机上自动更新时间"

ntp守护程序ntpd应该处理这个问题。当然它在运行?

# start the ntp daemon
/etc/init.d/ntpd start

您还可以在root用户的crontab中添加每日或每小时的条目来更新时间:

# To edit root's crontab
sudo crontab -e
# Add this line to run the command every day at noon (change as needed):
* 12 * * * /usr/sbin/ntpdate

"更改该服务的权限,以便任何人都可以运行它"

这破坏了安全模型。但是,如果允许用户使用sudo,则可以允许无密码执行该单个可执行文件,因此不会阻止您的脚本:

# To edit the sudoers file:
sudo visudo
# Then add something like this depending on the location of ntpdate:
username ALL= NOPASSWD: /usr/sbin/ntpdate

答案 1 :(得分:0)

您应该配置并使用ntpd代替ntpdate

答案 2 :(得分:0)

\#!/bin/sh

\#script to set the time using google - my ISP is blocking access to ntp server! major bummer!! :(

HOST="www.google.co.ke"

ping -q -c 2 $HOST > /dev/null 2>&1 

if [ $? -ne 0 ]; then

echo "----\`date\`---------------------FAILURE----------------------------------" 

  echo "Failure: \`date\` -- $HOST is is DOWN! >>> better luck next time!"

else

echo "****\`date\`*********************BEGIN: SUCCESS*********************************"

mydateold="\`date\`"

  echo "Success: \`date\` -- $HOST is UP >>> set the time!"

  date -s "$(date -d "\`curl http://www.google.co.ke -v 2>&1 |   grep "Date: " | awk '{ print $3 " " $5 " " $4 " " $7 " " $6 " GMT"}'\`")"

mynewdate="\`date\`"

echo "Success: \`date\` >>> Date updated: OLD DATETIME: $mydateold and NEW DATETIME: 

$mynewdate"

echo "****\`date\`*********************END: SUCCESS***********************************"

fi

\#EOF

\#Powered By Slackware Linux :)