最近在logstash中使用nobody用户启动logstash,一想,nobody用户的shell不是/sbin/nologin吗? 不能登录执行命令呀?

于是看了一下它的启动脚本,是使用其他方式进行的。。。

玩了几年linux竟然还不知道chroot可以干这事,只知道chroot将根目录切换到某一位置,,汗颜。。

使用su -l nobody -c "命令"方式

然,nobody用户的shell是/sbin/nologin,执行命令失败

# su -l nobody -c "/usr/bin/ls /tmp"
This account is currently not available.

那runuser呢? 同样不行。。。

# runuser -c "ls /tmp" nobody
This account is currently not available.

最后使用chroot是可以的。。

# chroot --userspec=: / sh -c id
uid=(nobody) gid=(nobody) 组=(nobody),(root)

知识贵在积累。

chroot命令帮助

# chroot --help
用法:chroot [选项] 新根 [命令 [参数]...]
 或:chroot 选项
以指定的新根为运行指定命令时的的根目录。 --userspec=用户:组 指定所用的用户及用户组(可使用"数字"或"名字")
--groups=组列表 指定可供选择的用户组列表,形如组1,组2,组3...
--help 显示此帮助信息并退出
--version 显示版本信息并退出 If no command is given, run '${SHELL} -i' (default: '/bin/sh -i'). GNU coreutils online help: <http://www.gnu.org/software/coreutils/>
请向<http://translationproject.org/team/zh_CN.html> 报告chroot 的翻译错误
要获取完整文档,请运行:info coreutils 'chroot invocation'

如何以nobody用户执行命令?的更多相关文章

  1. [sh]rm -rf*的防护和普通用户执行命令

    尽量用普通用户执行,因为普通用户无法删除root的文件,避免误删除 rm -rf 不可取, 尽量find+rm -rf 尽量cd && rm -rf * 加上逻辑 cd /tmp/re ...

  2. linux 如何指定nologin用户执行命令

    在linux中建立网站时,我们一般分配一个www之类的用户给网站应用程序. 如果我们使用root或者具有管理员权限的账号在网站目录下去创建文件时,会遇到各种权限问题. 这时我们可以切换到www用户,这 ...

  3. shell脚本里切换用户执行命令的注意事项

    功能说明:用root用户执行一个脚本,脚本里需要切换到普通用户DT去执行其他命令,其中就用到了EOF,用法如下: #!/bin/bash su - DT<<EOF cd apache-to ...

  4. nologin用户执行命令

    使用su su -s 是指定shell,这里www用户是nologin用户,是没有默认的shell的,这里指定使用/bin/bash, -c 后面接需要运行的命令, 后面www是用www用户来运行 s ...

  5. linux指定nologin用户执行命令

    为了安全,使用nologin账号来运行程序, su -s /bin/bash -c "ls" www 这条命令到底做了什么呢?su -s 是指定shell,这里www用户是nolo ...

  6. sudo 其他用户执行命令

    sudo -E -u clouder /home/clouder/vs/program/chatserver/bin/startup.sh -E 加载用户环境变量

  7. ansible 远程以普通用户执行命令

    1. ansible 10.0.0.1 -m raw -a "date" -u www 2.在ansible的主机配置文件中指定ssh_uservi/etc/ansible/hos ...

  8. ansible远程切换用户执行命令

    ansible test -l 10.0.10.1 -e "ansible_become_user=www" -m shell -a "/data/publish/pub ...

  9. linux下指定特定用户执行命令

    虽然很简单但是百度找的大部分不能用,我是没找到,后来从google找到的 sudo -H -u www bash -c 'nohup /home/web/ke/upfileserver /home/w ...

随机推荐

  1. 1018MYSQL数据迁移到SQLSERVER

    -- 第一步利用MYSQL将数据结果的脚本迁移出来-- 第二步利用POWERDESGINER的反向功能,将脚本生成为物理模型 FILE-REVERSE DATEBASE -- 第三步将物理模型生成SQ ...

  2. 本机ubuntu链接阿里云服务器(也是ubuntu)

    首先在本机安装ssh工具,并修改配置文件(参考:http://www.cnblogs.com/herd/p/5009067.html) 第一步:ssh 100.121.156.32(即:服务器的ip地 ...

  3. HttpServletRequest 转换成MultipartHttpServletRequest

    //转换 HttpServletRequestMultipartHttpServletRequest mulReq=(MultipartHttpServletRequest)request;//获取上 ...

  4. [转]设计模式之六大原则——开闭原则(OCP)

    原文地址:http://www.cnblogs.com/muzongyan/archive/2010/08/05/1793454.html 开闭原则(Open Closed Principle)是Ja ...

  5. 【BZOJ 2434】【NOI 2011】阿狸的打字机 fail树

    完全不会啊,看题解还看了好久,我是蒟蒻$QAQ$ $zyf$的题解挺好的:http://blog.csdn.net/clove_unique/article/details/51059425 $fai ...

  6. Region Representaion and Description

    两类特征 外部特征(external characteristics), 如boundary 内部特征(internal characteristics), 如像素, color, texture. ...

  7. sql insert into select语句写法-将查询结果直接插入到表中

    insert into month_gpcj_info(idStr,zszrmygpsl,xyzrmygpsl,mycje,mycjl,month_date,dataCompiledDate) sel ...

  8. sql 定义自增id插入数据

    -- 定义一个自增变量 ; -- 执行自增语句 ,sponsorbroker,,, from stock_listing_detailed_info group by sponsorbroker;

  9. Linux Process Virtual Memory

    目录 . 简介 . 进程虚拟地址空间 . 内存映射的原理 . 数据结构 . 对区域的操作 . 地址空间 . 内存映射 . 反向映射 .堆的管理 . 缺页异常的处理 . 用户空间缺页异常的校正 . 内核 ...

  10. fedora22有时不能启动

    [3.327871][drm:intel_set_pch_fifo_underrun_reporting [i915]] *ERROR* uncleared pch fifo underrun on ...