redhat – SFTP访问类似于jailed shell

我有一个关于创建具有jail
shell访问权限的用户的问题(实际上,此用户需要的是对一个特定目录的sftp访问).

场景如下 – 我有一个受IonCube保护的现有代码,所以我真的不知道它 – 我坚持它提供的输出文件夹.它的作用是创建一些文件夹,在操作过程中要下载一些文件.所有这些都以/ var / www / xy / backup / orderbackup / random-name-folder-here / files_here结尾

现在,我想创建一个用户,该用户将获得对/ var / www / xy / backup / files /及其下属的sftp访问权限,但最好不在其他地方.

我是否创建了一个普通用户,然后将他监禁到该目录(虽然我不确定我是否可以在那里创建jail,因为我无法将/ var / www / xy / backup / orderbackup / ownership更改为root,因为它将停止保存文件),或者我应该使用其他一些技术.

我阅读了关于RSSH,MySecureShell等的帖子.哪种方法在安全和设置复杂之间是中间立场(我不是linux大师).

提前致谢!

解决方法

OpenSSH(它还提供sftp和scp功能)在其更高版本中获得了chroot功能.基本上你只需要在/ etc / ssh / sshd_config文件中添加与这些类似的行.

Subsystem sftp internal-sftp

Match group sftpusers
     ChrootDirectory /var/www/xy/backup/files/
     X11Forwarding no
     AllowTcpForwarding no
     ForceCommand internal-sftp

然后使用命令groupadd sftpusers创建一个名为sftpusers的新组.

最后一步是创建属于group sftpusers的用户:

useradd -g sftpusers -d /var/www/xy/backup/files yourusername 
passwd yourusername

然后重新启动你的ssh服务:/etc/init.d/sshd restart,你应该全部设置好.

相关文章

发表回复

您的电子邮箱地址不会被公开。