linux指定nologin用户执行命令

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用户来执行命令

 

crontab 使用其他用户做计划任务

如果是crontab -u -e 

sudo su - www crontab -e

或者crontab -u www -e

或者直接编辑/etc/crontab文件

SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root

# For details see man 4 crontabs

# Example of job definition:
# .---------------- minute (0 - 59)
# | .------------- hour (0 - 23)
# | | .---------- day of month (1 - 31)
# | | | .------- month (1 - 12) OR jan,feb,mar,apr ...
# | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# | | | | |
# * * * * * user-name command to be executed

 

linux 普通用户设置某个命令执行权限:

1rpm -qa|grep –i sudo查看是否安装sudo包

2 vi /etc/sudoers添加下面一行配置

test QD-254.45=(ALL)NOPASSWD: /sbin/iptables,/sbin/ethtool

test普通用户名

QD-254.45代表主机名;ALL代表所有主机,否则以hostname命名仅指在本机上具有该sudo权限

(ALL)指该普通用户可以以所有用户的权限来执行命令,可以填其他用户

NOPASSWD: 使sudo执行命令时不再需要密码

/sbin/iptables 具体命令,多个以逗号间隔

 

使用:

切到普通用户下su – mike

sudo /sbin/iptables –nvL即可执行

此时如果没有NOPASSWD:设置的话,将会提示输入密码,此密码是普通用户自己的密码

 

posted @ 2016-12-29 09:47  行知散人  阅读(4521)  评论(0编辑  收藏  举报