nohup(無掛斷)命令允許你在后臺(tái)運(yùn)行程序,即使關(guān)閉終端或斷開連接,程序仍將繼續(xù)運(yùn)行。關(guān)于nohup命令的權(quán)限設(shè)置技巧,以下是一些建議:
-
使用chmod命令調(diào)整文件權(quán)限: 在使用nohup命令運(yùn)行程序之前,確保程序文件具有可執(zhí)行權(quán)限。你可以通過chmod命令來調(diào)整文件權(quán)限。例如,如果你的程序文件名為myprogram,可以使用以下命令為其添加可執(zhí)行權(quán)限:
chmod +x myprogram
-
以特定用戶身份運(yùn)行程序: 如果你希望以特定用戶身份運(yùn)行程序,可以使用sudo命令。例如,如果你想以用戶username身份運(yùn)行myprogram,可以使用以下命令:
sudo -u username nohup ./myprogram &
這將以u(píng)sername用戶的身份運(yùn)行myprogram,并將輸出重定向到nohup.out文件。
-
限制對(duì)nohup.out文件的訪問權(quán)限: 默認(rèn)情況下,nohup命令會(huì)將輸出重定向到當(dāng)前目錄下的nohup.out文件。為了限制對(duì)nohup.out文件的訪問,你可以更改其權(quán)限或?qū)⑵湟苿?dòng)到其他位置。例如,你可以使用以下命令將nohup.out文件的權(quán)限更改為僅允許文件所有者讀取和寫入:
chmod 600 nohup.out
或者,你可以將nohup.out文件移動(dòng)到其他位置,例如/var/log/myprogram,并相應(yīng)地更新nohup命令:
nohup ./myprogram > /var/log/myprogram/output.log 2>&1 &
-
使用umask命令設(shè)置默認(rèn)權(quán)限: 在運(yùn)行nohup命令之前,你可以使用umask命令設(shè)置默認(rèn)文件權(quán)限。這將影響新創(chuàng)建的文件和目錄的權(quán)限。例如,如果你想為新創(chuàng)建的文件設(shè)置644(所有者可讀寫,其他用戶可讀)權(quán)限,可以使用以下命令:
umask 022 nohup ./myprogram &
這將確保新創(chuàng)建的文件具有所需的權(quán)限。
總之,通過合理設(shè)置文件權(quán)限、以特定用戶身份運(yùn)行程序以及限制對(duì)輸出文件的訪問,你可以更安全地使用nohup命令運(yùn)行程序。