Linux添加開機啟動程序
Debain
、Ubuntu
系列Linux
開機之后會執行/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
既為Super user do
的意思。sudo
在這個過程中只起一個調用root
用戶的作用,本次操作完成后,其作用就消失,如果要使用調用root
權限操作的命令就必須再次使用sudo
。
通常我們并不以root
身份登錄,但是當我們執行某些命令時需要用到root
權限,所以經常都都用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
參考鏈接:Linux 以 root 權限開機啟動程序