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


    www用户安全做法 

    在linux中建立网站时,我们一般分配一个www之类的用户给网站应用程序。
    如果我们使用root或者具有管理员权限的账号在网站目录下去创建文件时,会遇到各种权限问题。
    这时我们可以切换到www用户,这类用户一般是nologin,不允许登录。
    如果我们su www或者sudo www,切换到www用户时,会出错。
    网上解决办法时修改/etc/passwd文件 nologin改为bin/bash,这样www用户可以登录服务器,
    比较危险。可以通过以下办法使用www用户执行命令
    方法1. 为了安全,使用nologin账号来运行程序,
    su -s /bin/bash -c "ls" www
    这条命令到底做了什么呢?su -s 是指定shell,这里www用户是nologin用户,是没有默认的shell的,这里指定使用/bin/bash, -c 后面接需要运行的命令, 后面www是用www用户来运行
    方法2:
    sudo -u www command 这样也可以使用www用户来执行命令

    非root用户su到其他账户,需要其他账户的密码,所以需要给www加上密码,root账户: passwd www 。 

    centos7.4
    指定nologin的用户 
    root可以su 

    su -s /bin/bash  www
    其他用户su 

    su -s /bin/bash  www

    然而在centos7.7 中,这个已经不行了。

    centos7.7

    指定nologin的用户
    root可以su  

    su -s /bin/bash  www

    不能被其他用户su



    所以还是打开www的shell 

    www:x:1001:1001::/home/www:/bin/bash

    然后设置 sshd

    在 /etc/ssh/sshd_config  最后加入 DenyUsers 代表禁止www使用ssh。 
    DenyUsers www

    这样www 用户永远不能通过ssh登陆。

    http://devops234.com

  • 相关阅读:
    什么是HTTPS协议
    思维:从互联网到区块链
    BFT-SMaRt:用Netty做客户端的可靠信道
    BFT-SMaRt:用Java做节点间的可靠信道
    共识网络BFT-SMaRt:理论与实践
    EOS源码分析:transaction的一生
    勘误:EOS资源抵押退还
    如何踩中下一个技术节拍
    本人新书,欢迎抢购
    REX:EOS资源租赁平台详解
  • 原文地址:https://www.cnblogs.com/vasks/p/12858044.html
Copyright © 2020-2023  润新知