一、Linux开机自动执行脚本
Ubuntu开机之后会执行/etc/rc.local文件中的命令,所以,如果是想添加登陆用户所具有权限的操作,可以在文件中exit 0之前添加开机自动执行的脚本命令。
或者将执行脚本的权限修改为当前登录用户具有执行权限,命令为: chmod +x /home/xx/x.sh 再加入自动执行脚本: sudo vi /etc/rc.local 在exit 0的上面新起一行,写入/home/xx/x.sh
以上情况均适用于脚本中的执行命令都不需要root权限才能执行的操作,但是,如果x.sh脚本中具有只有root权限才能执行的操作时,以上的方式便不能生效。
二、开机免密自动执行脚本
某些操作只能root用户才能操作,比如挂载共享盘,当执行到挂载命令时,需要root用户密码方能执行。所以,需要修改/etc/sudoers这个文件。
Ubuntu默认不能直接用root帐户登录,必须从第一个创建的用户(既安装时创建的那个用户)通过su或sudo来获得root权限。
sudo 格式:sudo [其它命令]
sudo既为Super user do的意思。sudo在这个过程中只起一个调用root用户的作用,本次操作完成后,其作用就消失,如果要使用调用root权限操作的命令就必须再次使用sudo。
通常我们并不以root身份登录,但是当我们执行某些命令 (command)时需要用到root权限,我们通常都是用"sudo command"来执行command。由于使用Ubuntu,所以经常都都用sudo,而使用sudo时,又得输入密码,所以我就寻找sudo不输入密码的方法。
假设我的用户名为idu,使sudo不用密码的方法如下。 运行命令:sudo vi /etc/sudoers,如果vi来编辑,则保存时记得用"wq!"强制保存,否则会提示只读不能保存的。 就会编辑/etc/sudoers这个文件。 默认情况我们会看到有"%admin ALL=(ALL) ALL"一句话,就是允许admin组在所有主机上执行所有命令,当然是需要passwd的。
如果想把admin组的用户都sudo不用密码那么可以将这一行换为:"%admin ALL=(ALL) NOPASSWD: NOPASSWD ALL"即可。
如果仅仅想让idu用户sudo不需密码,则可添加"idu ALL = NOPASSWD: ALL"这样一行。
如果让idu用户sudo不用密码即可执行某几个命令,可这样写"idu ALL = (ALL)NOPASSWD: /usr/bin/abc.sh, /usr/sbin/adduser"