为了安全,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

posted @ 2017-11-24 19:07  脚本小娃子  阅读(3905)  评论(0编辑  收藏  举报