是否可以授予用户 sftp 访问权限而不授予他 ssh 访问权限?

是否可以授予用户 sftp 访问权限而不授予他 ssh 访问权限?

是否可以授予用户 sftp 访问权限而不授予他 ssh 访问权限?

答案1

嗯,rssh 是一个受限的 shell,提供 sftp 访问,但不提供 ssh 访问。

sudo apt-get install rssh
sudo chsh -s /usr/bin/rssh $username

你可能必须

sudo bash -c "echo '/usr/bin/rssh' >> /etc/shells"

使其成为一个“有效”的 shell。

针对 Ubuntu 12.04 的更新 2012-9-13

文件 /etc/rssh.conf 对各种访问进行了注释;因此,对于 sftp,取消注释第 10 行“#allowsftp”。

sudo -e /etc/rssh.conf

改变

#allowsftp

allowsftp

节省。

答案2

将文件的最后一个参数/etc/passwd(在用户的线路上)设置为/usr/lib/openssh/sftp-server(或您使用的任何 sftp 服务器)。这将使用户的登录 shell 成为 sftp 服务器,并且这就是他可以使用的全部。这比其他答案需要的设置更少,而且它恰到好处,尽管不存在允许稍后使用 scp 的选项。

答案3

有时为 ftp 客户端设置 umask 很有用。为此,创建一个简单的脚本/usr/lib/openssh/sftp-server-go.sh

#!/bin/bash
/usr/lib/openssh/sftp-server -u 0007

并用它来/etc/passwd代替。

相关内容