zoukankan      html  css  js  c++  java
  • 如何以nobody用户执行命令?

    最近在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=99:99 / sh -c id
    uid=99(nobody) gid=99(nobody) 组=99(nobody),0(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'
  • 相关阅读:
    高德地图信息窗体轮播及多组坐标点添加
    移动端适配及px转rem
    css伪类样式覆盖
    vue-amap-marker相关问题,信息窗体及自定义图片的偏移问题
    echart自定义图例样式及统计图颜色相关
    ts学习笔记[枚举类型]
    从面试中查漏补缺
    百度编译器插入自定义内容和样式(转)
    .net的母版页相关
    几种Position属性的用法
  • 原文地址:https://www.cnblogs.com/xiaoming279/p/6115167.html
Copyright © 2011-2022 走看看