Olivier Lalonde Asked: 2011-01-10 13:27:29 +0800 CST2011-01-10 13:27:29 +0800 CST 2011-01-10 13:27:29 +0800 CST 是否可以在不授予用户 ssh 访问权限的情况下授予用户 sftp 访问权限? 772 是否可以在不授予用户 ssh 访问权限的情况下授予用户 sftp 访问权限? ssh 3 个回答 Voted user8290 2011-01-10T13:59:33+08:002011-01-10T13:59:33+08:00 好吧,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" 使其成为“有效”的外壳。 Ubuntu 12.04 更新 9-13-2012 文件 /etc/rssh.conf 对各种访问进行了注释;因此,对于 sftp,取消注释第 10 行“#allowsftp”。 sudo -e /etc/rssh.conf 改变 #allowsftp 至 allowsftp 节省。 Best Answer lmat - Reinstate Monica 2013-10-19T09:26:34+08:002013-10-19T09:26:34+08:00 将/etc/passwd文件的最后一个参数(在用户的行上)设置为/usr/lib/openssh/sftp-server(或您使用的任何 sftp 服务器)。这将使用户的登录 shell 成为 sftp 服务器,这就是他可以使用的全部内容。与其他答案相比,这需要更少的设置,并且它完全正确,尽管稍后允许 scp 的选项不存在。 Giuseppe 2015-10-09T11:25:08+08:002015-10-09T11:25:08+08:00 有时为 ftp 客户端设置 umask 很有用。为此,请创建一个简单的脚本/usr/lib/openssh/sftp-server-go.sh #!/bin/bash /usr/lib/openssh/sftp-server -u 0007 并/etc/passwd改为使用它。
好吧,rssh 是一个受限制的 shell,提供 sftp 访问但不提供 ssh 访问。
你可能不得不
使其成为“有效”的外壳。
Ubuntu 12.04 更新 9-13-2012
文件 /etc/rssh.conf 对各种访问进行了注释;因此,对于 sftp,取消注释第 10 行“#allowsftp”。
改变
至
节省。
将
/etc/passwd
文件的最后一个参数(在用户的行上)设置为/usr/lib/openssh/sftp-server
(或您使用的任何 sftp 服务器)。这将使用户的登录 shell 成为 sftp 服务器,这就是他可以使用的全部内容。与其他答案相比,这需要更少的设置,并且它完全正确,尽管稍后允许 scp 的选项不存在。有时为 ftp 客户端设置 umask 很有用。为此,请创建一个简单的脚本
/usr/lib/openssh/sftp-server-go.sh
并
/etc/passwd
改为使用它。