我设置了一个新的 Ubuntu 服务器,并向一个用户添加文件,授予其完全权限jsmith ALL=(ALL) ALL
。/etc/sudoers
这样我就不用以 root 身份登录,而是一直使用 jsmith 进行服务器的日常管理。
我想使用结尾将文件上传到服务器,以 jsmith 而不是 root 身份登录。
不幸的是,当我使用 root 身份登录 SFTP 服务器时,我可以上传文件而不会出现问题。如果我以 jsmith 身份登录,我可以连接到服务器并一直导航到其根目录,但如果我尝试上传文件,则会收到错误:
我怀疑我忽略了配置中的某些内容,但是尽管我在谷歌上搜索了该问题,我还是无法找到解决方案。
欢迎任何建议。
答案1
通常,使用日常帐户进行管理不是一个好主意——这就是“root”/“sudo”的用途。立即授予自己对整个文件系统的完全访问权限是一种巨大的安全风险。
要在 OpenSSH 服务器中使用“sudo”进行 SFTP,您可以编辑配置Subsystem sftp
中的“”行sshd
。编写一个脚本,检查用户是否具有特权,并根据结果执行带有或不带有“sudo”的原始“sftp-server”,然后指向sshd
该脚本。确保您被允许在不需要“sudo”密码的情况下执行所述“sftp-server”,否则它根本不起作用。