非root用户执行程序---sudo的使用
来源:互联网 发布:c语言可以用来做什么 编辑:程序博客网 时间:2024/06/08 05:13
场景
在应用部署过程中,会遇到这样的问题:前期需要root用户执行配置、初始化工作,而具体的业务应用需要使用非root用户启动。
如何解决呢?
方法
可以使用sudo,实现授权。
sudo命令授权,既可以使非超级用户执行超级用户的命令,也可以让超级用户以普通用户身份执行程序。
上面场景的解决方案具体步骤如下。
配置/etc/sudoers
在文件末尾添加:
root ALL=(lanyang) /data/servers/orange-agent/control
表示root被授权,在任何机器上,执行命令/data/servers/orange-agent/control时,使用langyang用户。
授权的语法格式:
user machine=command
表示user被授权在哪些machine,以什么身份(默认root),执行command。
修改/etc/sudoers文件一般有两种方法。
方法一 使用visudo
可以使用visudo命令,命令行直接输入visudo,打开的就是/etc/sudoers文件,修改后,visudo会进行语法检查,并提示错误;
方法二 直接编辑
为了安全考虑,/etc/sudoers文件只有读权限,首先需要增加文件写权限。
$ chmod u+w /etc/sudoers
修改完成后,记得收回权限:
$ chmod u-w /etc/sudoers
启动应用
配置完成后,root用户执行如下命令:
$ sudo –u lanyang /data/servers/orange-agent/control start
这样应用程序就是以lanyang用户启动的。
参考
http://man.linuxde.net/sudo
http://www.heyongsheng.com/linux%E5%B8%B8%E7%94%A8%E5%9F%BA%E6%9C%AC%E5%91%BD%E4%BB%A4-sudo%E6%8E%88%E6%9D%83.html
http://blog.csdn.net/u012949658/article/details/53401888
- 非root用户执行程序---sudo的使用
- CentOS or Redhat 非root用户利用sudo执行root相关命令的解决方法
- 非root 用户用root权限执行程序的设置方法
- root用户和sudo使用root权限的区别
- root用户和sudo使用root权限的区别
- root用户和sudo使用root权限的区别
- 树莓派上php通过sudo执行root权限的程序
- 使用sudo命令执行root权限的命令
- linux使用某非root用户执行开机启动项
- 在docker容器中使用非root用户执行脚本
- % is not in the sudoers file 问题解决:非root用户使用sudo报错
- huazi用户没有权限使用sudo命令以root身份执行命令 解决方法
- 非root用户执行mount命令的方法
- Linux非root用户如何使用80端口启动程序
- Linux非root用户如何使用80端口启动程序
- fedora给非root用户开启sudo命令
- Linux系统下给非root用户添加sudo权限
- Docker安全--关于Docker使用root与非root用户的场景中的容器与host中的执行用户的研究
- 第11周项目4
- VMware ESXI 开启虚拟机识别磁盘SCSI ID
- 如何测试网站的性能
- Java内部类小结
- smtplib.SMTPDataError: (554, 'DT:SPM 126 smtp5错误解决办法
- 非root用户执行程序---sudo的使用
- 括号配对(用栈实现)
- 神经网络中关于训练集/验证集/测试集
- 计算1+2+3+4+......+n的值
- 查找最大元素
- [Archlinux] SSH
- UVa
- 数据结构第八周项目3--对称矩阵压缩存储的实现与应用
- Mac ChromeDriver