给指定的用户无需密码执行 sudo 的权限
2024-10-01 19:20:12
给指定的用户无需密码执行 sudo 的权限
cat /etc/passwd 可以查看所有用户的列表
w 可以查看当前活跃的用户列表
cat /etc/group 查看用户组
cat /etc/passwd
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
nobody:x:65534:65534:nobody:/nonexistent:/usr/sbin/nologin
www-data:x:33:33:www-data:/var/www:/usr/sbin/nologin
www: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 无需密码执行 sudo
www ALL=(ALL) NOPASSWD: /user/path/shell.sh
之后使用 www 用户执行 sudo 则不会报错。 /usr/bin/sudo -u www
最新文章
- 我的架构设计~用层关系图说说mvc,mvvm,soa,ddd
- IE浏览器打开chorme浏览器,如何打开其他浏览器
- 十天精通CSS3学习笔记 part2
- IOS model的getter和setter方法
- Ubuntu 安装字体
- 1020: 部分A+B
- spring+hibernate 实体类注解问题
- centos下cp -r 命令可拷贝文件夹
- URAL 2056 Scholarship 水题
- css如何使背景图片水平居中
- 阿里云部署 Flask + WSGI + Nginx 详解
- 证明:一个整数a若不能被6整除,则a2+24必能被24整除。(整除理论,1.1.4)
- Unity随手记
- We Chall-Training: Encodings I -Writeup
- Django 入门案例开发(下)——创建项目应用及模型类
- UCS业务知识介绍
- mysql进阶(二十六)MySQL 索引类型(初学者必看)
- Proxmox VE中出现TASK ERROR: command &#39;apt-get update&#39; failed: exit code 100的解决方法
- MySQL从本地向数据库导入数据
- 【CQOI2006】凸多边形
热门文章
- 用Google Chrome 浏览器打开Unity打包的WebGL
- 【Codeforces Round #422 (Div. 2) C】Hacker, pack your bags!(二分写法)
- java RSA加密算法
- 洛谷 P2386 放苹果
- Linux同步与相互排斥应用(零):基础概念
- Codeforces 327A-Flipping Game(暴力枚举)
- vue2.0 vue-loader
- Callback<;>; and Bind()
- 【RHEL7/CentOS7服务控制之systemctl命令】
- 编程里的API是什么意思?