给指定的用户无需密码执行 sudo 的权限

来源:互联网 发布:崩坏3舰团矩阵buff 编辑:程序博客网 时间:2024/04/28 02:56
给指定的用户无需密码执行 sudo 的权限

cat /etc/passwd       可以查看所有用户的列表w                     可以查看当前活跃的用户列表cat /etc/group        查看用户组


cat /etc/passwd

daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologinnobody:x:65534:65534:nobody:/nonexistent:/usr/sbin/nologinwww-data:x:33:33:www-data:/var/www:/usr/sbin/nologinwww:x:1001:1001::/home/www:/sbin/nologin

cat /etc/group

daemon:x:1:nogroup:x:65534:www-data:x:33:www:x:1001:
=======================================================

/usr/bin/sudo -u www:     www is not in the sudoers file.  This incident will be reported./usr/bin/sudo -u nobody:  sudo: no tty present and no askpass program specified/usr/bin/sudo -u root:    sudo: no tty present and no askpass program specified/usr/bin/sudo -u          sudo: unknown user: wget                          sudo: unable to initialize policy plugin/usr/bin/sudo             sudo: no tty present and no askpass program specified

以上错误,是由于 shell 在执行 sudo 时指定的用户需要权限和密码

在服务器上运行以下php脚本,可以看到当前 PHP 用户的名称,一般是 www
<?php$uname = shell_exec ('whoami');echo ("用户名是: <b>$uname </b>");?>

用 visudo 编辑 sudo 的权限,给指定的用户无需密码

sudo visudo

# 对组 %wheel 所有脚本均无需密码执行sudo%wheel    ALL=(ALL)    NOPASSWD: ALL# 对用户 www 只有 /user/path/shell.sh 无需密码执行 sudowww ALL=(ALL)           NOPASSWD: /user/path/shell.sh


之后使用 www 用户执行 sudo 则不会报错。 /usr/bin/sudo -u www





0 0
原创粉丝点击