我正在用PHP构建一个控制面板。 此CP将管理Linux用户,他们的屏幕会话和文件。
我想列出所有方法,并选择最安全的方式,这对用户来说也很舒服。
的/ etc / sudoers的
wwwuser ALL = NOPASSWD: ALL
这允许任何命令通过www服务器用户运行。 这是安全的噩梦。
的/ etc / sudoers的
wwwuser ALL = NOPASSWD: /path/to/scripts/scripts/
此方法使用只有少量行的小bash脚本。不幸的是,这些脚本必须增加攻击面。 例如,此脚本创建新用户
#/bin/bash
useradd $1 -s /bin/bash
我无法列出所有允许的用户名,因此我必须使用args。
在此方法中,所有需要root权限的命令都将发送到队列。 队列守护程序以root身份运行,因此可以创建用户等。