sudoers.d:仅允许用户在 sftp 中不需要密码

sudoers.d:仅允许用户在 sftp 中不需要密码

在 WinSCP 中,我希望能够拥有 sudo 访问权限。在 WinSCP 中,高级 > SFTP > SFTP 服务器:sudo su -c /usr/lib/openssh/sftp-server

在 Ubuntu 22.04.1 中:

echo "user1 ALL=(ALL) NOPASSWD: ALL" | sudo tee "/etc/sudoers.d/user1-user"

我成功在 WinSCP 中获得了 sudo 访问权限。

但我不想允许所有东西都无密码。只允许 sftp-server。所以我改成ALL/usr/lib/openssh/sftp-server

user1 ALL=(ALL) NOPASSWD: /usr/lib/openssh/sftp-server

在 WinSCP 中,我收到错误:

无法初始化 SFTP 协议。主机是否正在运行 SFTP 服务器?

为什么?这是我的 Ubuntu 语法问题吗?还是 WinSCP 或 WinSCP 中的设置问题?

sftp 服务器位于/usr/lib/openssh/

答案1

我之前试过user1 ALL=(ALL) NOPASSWD: su -c /usr/lib/openssh/sftp-server,但没有成功。当然没有成功。我忘了我需要 su 的完整路径,也就是/usr/bin/su。谢谢 pasman pasmański!

限制 sftp 无密码 sudo 的正确方法如下:

user1 ALL=(ALL) NOPASSWD: /usr/bin/su -c /usr/lib/openssh/sftp-server

相关内容