LINUX系统 不切换用户,如何用指定用户的身份运行某一程序?

LINUX系统 不切换用户,如何用指定用户的身份运行某一程序?,第1张

可以用sudo命令,它的作用是“excute

a

command

as

another

user",默认为root用户,可以用

-u

指定用户名(假设要以user身份执行prog程序):

sudo

-u

user

prog

就可以了。

另一个命令su,是用另一个身份运行shell,再用新的shell运行指定程序(su只能运行shell程序,虽然可以把命令写成类似sudo的样子[su

-c

user

prog],但它的实现原理实际上还是先运行一个shell,再通过shell运行其他程序)。

这几天练习邮件服务器的时候经常需要切换到其他用户发一份测试邮件,然后再切换到另一个用户查收邮件,于是就想起 Linux 的 sudo 命令了。这条命令的作用就是让你以任意用户的身份或者管理员身份运行后面的指令或者打开文件,使用方法如下:

其中的 -u username 是可以指定一个用户,以这个用户身份运行权限,而不指定则默认使用 ROOT 用户权限运行。除 ROOT 用户外,其他用户指定另外用户运行时均须要输入密码。

例如:

而在实际 *** 作过程中发现,刚装好的 Linux 默认只有 ROOT 用户可以使用 sudo 命令,原因是其他用户没有被添加到 sudoers 列表中。所以为方便测试,如果想让所有用户都可以执行 sudo 命令,可以在 ROOT 用户下编辑 /etc/sudoers 文件 第 98 行 ,将

改成

保存 (可能需要用强制保存, :wq! ) ,这时其他用户可以使用 sudo 执行命令,但是需要输入当前用户密码。如果需要去掉密码,则需要继续编辑刚刚的 /etc/sudoers 文件,将刚刚的那行继续修改:

保存,测试,这时其他用户在执行 sudo 命令时可以免密码执行了。这个方法请不要用在正式生产环境中,因为这会导致严重的安全问题。如果只是测试单个用户,可以单独指定,比如为 test1 添加 sudo 权限:

添加到原文件 98 行的下面即可,最好不要覆盖 ROOT 那行。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/7594895.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-07
下一篇 2023-04-07

发表评论

登录后才能评论

评论列表(0条)

保存