debian8.1上sudoer无法重启ssh服务

debian8.1上sudoer无法重启ssh服务

我已经安装了debina8.1,这样设置sudoers配置。
1.apt-get update
2.apt-get install sudo
3.adduser test
4.usermod -a -G sudo test
当我使用测试帐户名称连接vps并更改某些端口时。

vim /etc/ssh/sshd_config
Port 21388
Protocol 2 

 /etc/init.d/ssh  restart  #with test account name
[....] Restarting ssh (via systemctl): ssh.serviceFailed to restart ssh.service: Access denied
failed!

test有sudo权限,为什么该命令/etc/init.d/ssh restart 对test名称不起作用?经测试该命令/etc/init.d/ssh restart 对root名称有效。

答案1

这是因为权限的原因,很可能 ssh 可执行文件没有您当时使用的帐户的权限。要查看哪个文件对谁有哪些权限,您只需输入即可ls -l,然后您会看到一些奇怪的东西,例如

drwxrwxr-x 2 pi acctg 1024 date time file name

也许更多,开头的 d 表示它是一个目录,在你的情况下,开头没有“d”,而是开头有“-”,在第一个字符之后其他 9 个字符是 rwx , rwx再次 rwx,你可以看到它们是否没有破折号,

r代表读权限

w 代表写权限

x代表执行权限,

前 3 个(第一个字符之后)(rwx 或 --- 或 r-- 或其他组合)用于表示该文件的所有者拥有哪些权限。

第二个 3 用于表示该文件组中的其他帐户拥有哪些权限。

第三个3代表的是“其他”;其他所有人。

如果您想获得该测试帐户的权限,我建议您首先阅读man chmod此处的指南:http://catcode.com/teachmod/,它解释了几乎每个大纲,然后决定是否需要权限,因为它最终可能会出现一些安全问题。

如果您直接希望能够执行:

类型 :sudo chmod 775/etc/init.d/ssh

如果用二进制表示 7,您将看到 111,它代表对所有者和组启用读许可、写许可和执行许可,而对其他人仅启用读许可和执行许可。

但我强烈建议您在使用前阅读手册。

相关内容