我已经通过adduser工具向系统添加了一个用户。 然后,在/etc/passwd ,我尝试将/bin/bash更改为/sbin/nologin或/dev/null ,但这两个都没有成功。 我想用户没有select得到一个交互式的shell,只是使用sftp 。 有没有办法? 我知道这里曾经有人问过这个问题,但似乎没有人给出满意的答复。
我正在运行Debian stable,我正在寻找为我的'sftponly'组中的用户build立以下环境: 获刑 可以用SFTP传输 可以和SCP转移 不能用SSH交互式login 从我的实验和研究来看,sshd_config中的以下节段似乎让我有90% Match group sftponly ChrootDirectory /sftp/%u X11Forwarding no AllowTcpForwarding no ForceCommand internal-sftp 这给我监狱的SFTP和没有SSH,这是很好的。 但是它也禁用了SCP,这是不理想的,因为相当多的客户端是传统的,使用SCP而不是SFTP的脚本进程(我们正在replace的服务器支持这两种协议),并且由于这些客户端并不在我们的控制之下修改,完全禁用SCP可能不切实际。 这个configuration可以禁用SCP,因为传入的SCP连接会导致sshd像用户那样通过用户的loginshell产生一个“scp”进程。 似乎SFTP通常也是如此,如果不是特殊的“internal-sftp”处理程序。 所以,我想我的问题是:是否有一种方法可以达到与“internal-sftp”相同的效果,但对于SCP而言,却不使用像scponly和rssh这样的第三方工具? “internal-sftp”的真正好处在于它不需要build立一个支持文件的监狱,也不需要处理潜在可利用的第三方setuid二进制文件(特别是具有漏洞利用历史的rssh)。
我很新的debian,我试图build立一个服务器。 我创build了一个只能访问他的文件夹/home/username (及其子目录)的用户。 现在我想用这个用户来设置我的networking服务器,我已经给了他/var/www访问权限,但是我不能通过sftp来看到/var/www ,而且我做了一个这样的符号链接: root@server:/home/username# ln -s /var/www www root@server:/home/username# cd www root@server:/home/username/www# chown username:username * 现在,用filezilla,我可以看到这样的www文件夹: 但是当我试图打开它,我得到这个: 我做错了什么?
我们有一个Ubuntu 10.04服务器。 如何设置它,以便通过SFTP或SSH创build(或复制)的新文件具有g + rw和g + rwx权限(在适当情况下)? 我还使用setgid(chmod g + s),以便它们inheritance适当的组所有者。
是否有可能在openssh上设置Ubuntu的用户,使SSH不使用密码authentication,但SFTP呢? 我假设,如果我改变/etc/ssh/ssh_config有PasswordAuthentication yes这使得用户可以使用密码login与ssh和sftp。 编辑:我的目的是让一些用户sftp密码,而不是密钥文件。 但我不希望SSH用户能够使用密码login,我希望他们必须使用密钥文件。 如果有帮助,我不需要sftp用户能够login,他们只需要做sftp。
我的问题是,我需要设置一些variables,每次login到ssh shell时输出几行,同时我必须能够使用sftp来通过Filezilla转换文件。 现在,按照http://www.openssh.org/faq.html上的openssh FAQ,如果你的启动脚本回显任何types的输出,它会用sftp搞砸。 所以它要么无限期地延迟,要么出现“连接被服务器closures,退出码为128”的错误。 我已经尝试了将.bashrc移动到.bash_profile或在.bashrc中使用以下代码的解决scheme: if [ "$TERM" != "dumb" ] then source .bashc_real fi 和: if [ "$TERM" = "xterm" ] then source .bashc_real fi 但是,没有任何工作。 我的shellterminal是bash,我用filezilla连接到sftp。
我已经有了Digital Ocean的CentOs 6.4版本,想要成功创buildSFTP用户,并把它们监禁到用户自己的chroot home目录中,但是我担心我会搞砸这个。 我已经尝试了很多东西,其中大部分可能是不正确的,或者说不太合理,但是我觉得应该是正确的过程,我尝试过的是: 为sftp创build一个组: groupadd sftp 创build一个用户并设置他们的主目录: – useradd -d /var/www/vhosts/domain.com dummyuser 为用户设置密码: – passwd dummyuser 将用户的组更改为'sftp': – usermod -g sftp dummyuser 将用户的shell设置为/bin/false : – usermod -s /bin/false dummyuser 在sshd_config ( /etc/ssh/ )中编辑子系统: – #Subsystem sftp /usr/lib/openssh/sftp-server Subsystem sftp internal-sftp 将以下内容添加到sshd_config文件的底部: Match group sftp X11Forwarding no ChrootDirectory %h AllowTcpForwarding no ForceCommand internal-sftp 我确保以下所有的目录都是root:root […]
我试图设置SFTP,以便一些可信任的人可以访问/编辑/创build一些文件。 我有一个用户进入他们的主目录(/ home / name),但遇到了问题。 我希望他们也能够访问VPS的其他部分,因为它也是一个游戏服务器,虚拟主机等,我希望他们能够完全控制在他们的监狱目录之外的文件。 我试图做一个符号链接(ln -s)到所需的目录,但它不能正常工作。 我尝试(cp -rl)到我想要访问的文件,它工作 – 他们可以编辑他们的目录中的文件,它改变了存储在监狱之外的文件。 但他们不能创build新的文件(他们可以但不会更新监狱之外)。 我知道我可能不是这样做的“正确的方式”,但我能做些什么来做我想要的?
我知道明确的“协商”FTPS是首选,因为它仍然使用标准端口21用这种方法,但对于“隐式”非协商FTPS使用标准端口990与端口22(我见过一些人请说明),为什么在非标准端口号的“标准”中存在这种差异? 注意:我还注意到,如果将FileZilla服务器configuration为使用除端口990以外的任何内容,FileZilla服务器将无法正常工作(从FileZilla客户端连接时)。
我为这个问题find了一个可行的答案,其中大部分答案都包含了为什么不这样做的build议。 但是,这是情况,什么使得它是必要的: 我有一个控制台应用程序,并且在每个用户的.profile中,都有一个用于应用程序的启动命令,并且在启动它的命令之后,有一个“退出”命令,将它们从系统中注销。 我只希望他们能够通过它提供的接口访问这个控制台应用程序。 启动时,应用程序向用户显示可以通过应用程序访问的客户端列表,每个客户端都有自己的数据目录。 用户只能访问他们需要访问的客户端。 现在问题是:如果我给用户SSH访问,他们也将能够使用SFTP客户端login,这将使他们能够直接访问应用程序的数据目录,这是非常不可取的,因为这也会给他们访问他们不应该访问的数据目录。 当使用telnet / FTP组合时,这是一件很简单的事情,但是现在我想让用户能够从互联网上的任何地方访问,我一直无法find一种方法来closures他们的SFTP,而仍然允许他们访问他们可以运行应用程序的shell。