![CentOS - 允许特定用户拥有 root 文件权限(用于 SFTP)](https://linux22.com/image/765860/CentOS%20-%20%E5%85%81%E8%AE%B8%E7%89%B9%E5%AE%9A%E7%94%A8%E6%88%B7%E6%8B%A5%E6%9C%89%20root%20%E6%96%87%E4%BB%B6%E6%9D%83%E9%99%90%EF%BC%88%E7%94%A8%E4%BA%8E%20SFTP%EF%BC%89.png)
我正在尝试customuser
使用 FileZilla、CuteFTP、Bitvise SSH 等程序通过 SFTP 进入服务器并修改根目录中的文件。我通常使用 Bitvise SSH,因为它既可以充当 ssh 终端,也可以充当文件资源管理器。
我通过以下方式创建了一个新用户:
useradd customuser
passwd customuser
我已经设置了wheel,可以通过以下方式访问root权限:
usermod -G wheel,root customuser
我修改了我的sshd_config
文件并添加了以下两行:
PermitRootLogin no
AllowUsers customuser
我已经修改了 sudoers 并添加了以下内容,请记住,我现在只允许 ssh 连接,我不介意这个用户(一个很难暴力破解的用户名)是否拥有 root 的完全访问权限,我只是不想root
成为可以登录的用户。最终,我将重新启用 root 帐户的密码,以提高安全性customuser
(一旦重新删除 root 文件权限)
customuser ALL=(ALL) NOPASSWD: ALL
我已经重新启动了 sshd:
service sshd restart
但是我无法访问上述任何目录,/home/deploy/
因为我没有正确的权限...我不确定为了实现预期的结果我缺少什么。
有人能给我指出正确的方向吗?
答案1
sudo 权限仅在使用 sudo 命令执行操作时适用,而使用 sftp 则无法执行此操作。您必须具有交互式 shell(如 bash)才能发出 sudo 命令。使用 sftp 时,您只能拥有用户拥有的基本用户/组访问权限 - 没有提升的权限。您需要使用 sftp 将文件复制到用户主目录中,然后使用 ssh 登录并使用 sudo 按照您想要的方式操作。