NTP权限问题

NTP permission issue

我给团队里的每个人都发了一个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 作为名称。

我如何在虚拟机上自动更新时间,或更改该服务的权限,以便任何人都可以 运行 它而不管权限。

谢谢!

您应该配置和使用 ntpd 而不是 ntpdate

"How can I ether automate the updating of time on the virtual machine"

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

"alter the permissions of that service, so anyone can run it"

这破坏了安全模型。但是,如果用户已经被允许使用 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
\#!/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  " "  " "  " "  " "  " 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 :)