尽量用普通用户执行,因为普通用户无法删除root的文件,避免误删除 rm -rf 不可取, 尽量find+rm -rf 尽量cd && rm -rf * 加上逻辑 cd /tmp/res # <---如果这个没有,则就会出问题.... rm -rf * # 所以,一般就用普通用户执行命令 cd /tmp/res && rm -rf #!/bin/bash if [ -d "/tmp/res" ];then cd /tmp/res/ &&am…
在linux中建立网站时,我们一般分配一个www之类的用户给网站应用程序. 如果我们使用root或者具有管理员权限的账号在网站目录下去创建文件时,会遇到各种权限问题. 这时我们可以切换到www用户,这类用户一般是nologin,不允许登录. 如果我们su www或者sudo www,切换到www用户时,会出错. 网上解决办法时修改/etc/passwd文件 nologin改为bin/bash,这样www用户可以登录服务器, 比较危险.可以通过以下办法使用www用户执行命令 方法1. 为了安全,使…
最近在logstash中使用nobody用户启动logstash,一想,nobody用户的shell不是/sbin/nologin吗? 不能登录执行命令呀? 于是看了一下它的启动脚本,是使用其他方式进行的... 玩了几年linux竟然还不知道chroot可以干这事,只知道chroot将根目录切换到某一位置,,汗颜.. 使用su -l nobody -c "命令"方式 然,nobody用户的shell是/sbin/nologin,执行命令失败 # su -l nobody -c &quo…
功能说明:用root用户执行一个脚本,脚本里需要切换到普通用户DT去执行其他命令,其中就用到了EOF,用法如下: #!/bin/bash su - DT<<EOF cd apache-tomcat-7.0.54/bin sh startup.sh EOF 当时以为su - DT就跟在交换界面执行一样会把环境也切换过去,所以在分界符EOF里用的是相对路径,结果一运行就报错: -bash: line 8: cd: apache-tomcat-7.0.54/bin: 没有那个文件或目录 然后就做了个…
sudo -E -u clouder /home/clouder/vs/program/chatserver/bin/startup.sh -E 加载用户环境变量…
为了安全,使用nologin账号来运行程序, su -s /bin/bash -c "ls" www 这条命令到底做了什么呢?su -s 是指定shell,这里www用户是nologin用户,是没有默认的shell的,这里指定使用/bin/bash, -c 后面接需要运行的命令, 后面www是用www用户来运行…
ansible test -l 10.0.10.1 -e "ansible_become_user=www" -m shell -a "/data/publish/publish.sh /"…
使用su su -s 是指定shell,这里www用户是nologin用户,是没有默认的shell的,这里指定使用/bin/bash, -c 后面接需要运行的命令, 后面www是用www用户来运行 su -s /bin/bash -c "mkdir /tmp/111" www 使用sudo 使用www用户来执行mkdir /tmp/111 sudo -u www mkdir /tmp/111…
1. ansible 10.0.0.1 -m raw -a "date" -u www 2.在ansible的主机配置文件中指定ssh_uservi/etc/ansible/hosts10.0.0.1 ansible_ssh_user=www…
虽然很简单但是百度找的大部分不能用,我是没找到,后来从google找到的 sudo -H -u www bash -c 'nohup /home/web/ke/upfileserver /home/web/ke/up/conf.json &' 绝对靠谱,用去吧!!…