码迷,mamicode.com
首页 > 其他好文 > 详细

runuser 命令详解

时间:2017-03-09 15:54:41      阅读:1881      评论:0      收藏:0      [点我收藏+]

标签:linux runuser

runuser命令
runuser命令使用一个替代的用户或者组ID运行一个Shell。这个命令仅在root用户时有用。

仅以会话PAM钩子运行,并且没有密码提示。如果用一个非root用户,并且该用户没有权限设置user ID,这个命令将会因为程序没有setuid而失败。因runuser不会运行认证和账户PAM钩子,它比su更底层。

语法:


复制代码

代码如下:

runuser -l userNameHere -c ‘command‘
runuser -l userNameHere -c ‘/path/to/command arg1 arg2‘


举例来说,作为一个root用户,你也许想检查下oracle用户下的shell资源限制,输入:



复制代码

代码如下:

# runuser -l oracle -c ‘ulimit -SHa‘


或者监察下nginx或lighttpd web服务器限制:



复制代码

代码如下:

# runuser -l nginx -c ‘ulimit -SHa‘


或 

复制代码

代码如下:

# runuser -l lighttpd -c ‘ulimit -SHa‘


有时,root用户由于权限(安全)问题不能浏览NFS挂载的共享:



复制代码

代码如下:

# ls -l /nfs/wwwroot/cyberciti.biz/http




复制代码

代码如下:

# cd /nfs/wwwroot/cyberciti.biz/http


可能的输出:



复制代码

代码如下:

-bash: cd: /nfs/wwwroot/cyberciti.biz/http/: Permission denied


尽管如此,apache用户被允许浏览或访问挂载在/nfs/wwwroot/cyberciti.biz/http/下基于nfs的系统:



复制代码

代码如下:

# runuser -l apache -c ‘ls -l /nfs/wwwroot/cyberciti.biz/http/‘




复制代码

代码如下:

# runuser -l apache -c ‘cd /nfs/wwwroot/cyberciti.biz/http/; vi index.php‘


使用runuser命令,无需使用密码,并且,只能在root用户下使用。


可用选项:

-l: 让shell成为登录shell,用 runuser -l PAM 文件替代默认的
-g:指定主要的组
-G 追加组
-c:命令,要传到shell的单个命令
--session-command=COMMAND:使用-c传递单个命令道shell中并且不创建新的会话
-m: 不重置环境变量


本文出自 “梦想照进现实” 博客,请务必保留此出处http://lookingdream.blog.51cto.com/5177800/1904685

runuser 命令详解

标签:linux runuser

原文地址:http://lookingdream.blog.51cto.com/5177800/1904685

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!