我正在运行 Ubuntu 22.04.3,并通过 SSHD 配置 sFTP 服务器。我有几个用户主目录,每个目录中都有一个投递文件夹和一个拾取文件夹。虽然我的管理员用户能够导航服务器并查看任何目录的内容。管理员无法在其他用户目录中添加或删除任何文件。上述取件和寄件目录归 root 所有,该组标记为“sftp”。该 sftp 组包含我希望访问我的服务器并拾取/放下文件的所有用户。我的管理员用户不属于 sftp 组。当我将管理员添加到 SFTP 组时,我无法再以管理员身份访问服务器。当管理员不属于该组时,我可以访问服务器,但无法从属于 sftp 组的目录添加/删除文件。
我的sshd.conf如下:
AcceptEnv LANG LC_*
Subsystem sftp /usr/lib/openssh/sftp-server
PasswordAuthentication yes
Match group sftp
ChrootDirectory /home/%u
X11Forwarding no
AllowTcpForwarding no
ForceCommand internal-sftp
任何指导将不胜感激。
编辑1:
ls -ld pickup
节目drwxrwxr-x 2 root sftp 4096 Dec 18 16:22 pickup
编辑2:
我正在使用 WinSCP 和 FileZilla 连接到服务器。我有一个不熟悉终端使用的用户,需要向客户端发送文件或从客户端发送文件。此管理员帐户当前可以查看服务器上的所有文件,但无法添加或删除任何文件(例如 .xlsx)。我不会向没有终端经验或不了解 SFTP 是什么的人提供对服务器的完全访问和控制。那将是不明智的。我想做的是为自己创建一个帐户进行测试。这样我就知道在将该帐户授予我的用户之前要授予该帐户哪些权限和属性。
目前,该帐户可以查看诸如 等目录中的文件/home/client1/dropoff
,但无法从 dropoff 目录中添加或删除文件。我需要该帐户能够导航/home/
并进入所有客户端目录和子目录,并随意添加或删除文件。目前我的客户端用户只能访问他们的主目录/client1/
和相应的子目录。他们可以毫无问题地添加或删除文件,因为客户帐户是“sftp”组的成员,子目录也是如此。
我尝试将此管理员帐户添加到 sftp 组,但是当我这样做时,我无法再通过 WinSCP 或 FileZilla 连接到服务器。我尝试在 WinSCP 中将 SFTP 环境设置的协议选项从“默认”更改为“sudo su -c /bin/sftp-server”,但这给了我一个错误,Cannot initialize SFTP protocol. Is the host running an SFTP server?
我知道这是因为当我检查服务器和协议时信息文件传输协议标记为“SFTP-3”。
我的管理员帐户所属的组如下:
sudo adm cdrom dip plugdev lxd ftpadmin