為了安全,linux下如何使用某個用戶啟動某個進程?


安全里有個原則,叫最小權限原則

根據這個原則,對於啟動某個應用或者進程,應該賦予其最小權限,根據應用權限要求,創建一個相應權限的用戶,賦予其應用相應的權限,然后使用這個用戶啟用這個應用

 

如何使用某個用戶啟用某個進程或者應用?

1、使用這個用戶登錄linux系統后的一般操作(除sudo/su等操作外)都是這個用戶權限的操作,包括啟動應用后,該應用具有的權限,也是和這個用戶一致的

2、在其他用戶登錄后,使用su命令:

su - admin -c 'nohup python /home/tdqa/rpc_server/test_rpc.py &'

表示使用admin用戶啟動test_rpc.py,這里需要具有用戶admin的密碼
如果,你擁有sudo權限,可以執行不需要輸入密碼
sudo su - admin -c 'nohup python /home/tdqa/rpc_server/test_rpc.py &'
 

 2、在其他用戶登錄后,使用runuser命令:

如果,你擁有sudo權限,也可以使用runuser命令
sudo runuser -l admin -c 'nohup python /home/tdqa/rpc_server/test_rpc.py &'

 3、或者直接 sudo -u admin nohup /usr/local/bin/python test_rpc.py & 但是很奇怪的是起來了2個進程

 

 

順帶絮叨下su和sudo的區別:

su切換到某個用戶下,需要目標用戶的密碼,日志里記錄的也是切換之后的用戶操作

sudo是受限的su命令,切換到其他用戶,並不需要密碼,只是執行操作時,臨時操作,日志記錄的也是當前用戶的操作

 

參考:

1、https://www.cnblogs.com/bodhitree/p/6018369.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM