标签归档:sudo

debian下sudo的配置和使用

最近想使用PHP输入 命令行,控制服务器。立马就想到了使用 sudo来配置权限。
debian默认情况下已经装了sudo,如果要编辑sudo权限需要用root来操作,或者 输入命令
#sudo visudo

这里 假设要用PHP脚本控制服务器关机和重启,apache,php都是使用apt包安装的。这种情况下 php执行命令的用户默认会是 www-data ,所以编辑权限可以直接在最后一行添加

www-data ALL=NOPASSWD:/sbin/shutdown,/sbin/reboot (如果多个命令用逗号隔开)
(www-data)第一个是允许使用用户,如果前面加 % 则是允许的用户组。
(ALL) 允许登录的所有主机,包括本地和远程
(NOPASSWD) 这里是不用输入密码
(/sbin/shutdown,/sbin/reboot) 这里就是允许的命令了,如果是所有命令的话 直接 ALL 就行了

visudo跟vi又不太一样,退出的话 可以使用 Ctrl+x ,然后会提示 是否保存 输入 y,然后回车。。。

就可以使用 PHP执行这些命令了。。。

<?php
    system("/usr/bin/sudo reboot");  //重启
?>

最简安装debian后,sudo添加自动补全功能

用Linux的用户常常喜欢输入命令的前几个字符后按按TAB键自动补全,这样就不用输入所有字母了。

不过常常要通过加sudo取得管理员权限操作,这样就不能 TAB键补齐了。
这里有个小技巧,可以在sudo后照常OK!
方法就是:
在~/.bashrc中加入一行:complete -c sudo