2、java设置Linux系统时间之 setDate.sh

1、脚本编写

Linux shell脚本如何编写,网络上有很详细的叙述,这里就不赘述了。

编写时间设置脚本:setDate.shsetDate.sh需要两个参数。详细如下:

setDate.sh:需要2个参数:日期、时间

 

if [ $# == 2 ]

then

echo "input date is:" $1 ",time is:" $2

date -s "$1 $2"

fi

 

2、权限修改:

设置setDate.sh为可执行文件:chmod u+x setDate.sh,使setDate.sh能够以shell脚本的方式运行。 setDate.sh 修改Linux底层参数,普通用户账户下,是无法成功设置Linux系统的时间。解决办法如下:

3sudo设置

sudo:Super user do.

Linux不允许普通用户修改系统内核配置。绕过这种限制有2种办法:

       1、使用root用户组

       2、使用sudo命令

方法1有太多限制,不予考虑。使用方法2具体过程如下。

 

切换到root账户,使用visudo编辑sudoers配置文件(网上有sudo具体使用方法):

如下: 普通用户:test/test。用hostname获取当前主机名:linux.localdomain

root    ALL=(ALL) ALL

test linux.localdomain=(ALL) NOPASSWD: /home/test/demo/setDate.sh

#第一行:允许root用户使用sudo命令变成系统中任何其它类型的用户

#第二行:

格式:用户或组 主机【ALL/本机名】 = (权限【ALL/root】) 命令,就本例来说,它是用户test。此外,因为系统中的组和用户可以重名,要想指定该规则的适用对象是组而非用户的话,组对象的名称一定要用百分号%开头。

 

切换到test用户中:su - etoken,运行sudo ./setDate.sh 2009-6-2 18:01:22,使用date命令检查Linux时间是否成功修改。如果成功,就说明配置成功了。那么java LinuxTimeSetter,也会成功了。

你可能感兴趣的:(java,linux,Date,shell,脚本,input)