限制SCP/SFTP用户在指定的目录
2012-06-02 21:23:14 来源:熊熊看世界 评论:0 点击:
我们知道,使用SSH协议可以实现UNIX服务器安全的远程登录管理,也可以使用SSH协议进行安全的SCP或SFTP的文件传输。但默认情况下,能够SCP或SFTP的帐号都能够远程登录服务器,由于有时候仅使用SCP或SFTP给一些编辑人员上传文件而并不需要他们远程登录,这给服务器的管理会带来隐患。如何在使用SCP/SFTP进行文件的时候,将用户限定的指定的目录呢?(这实现是我们所说的CHROOT功能)。
我们可以通过一款scponly的小软件来实现这个功能。
SCPONLY软件的官网地址:http://sublimation.org/scponly/wiki/index.php/Main_Page。
结合使用scponly,可以让用户只能运行scp / sftp等命令,它兼容rsync、subversion、gftp等客户端软件,对winscp这个SCP客户端支持很好。
一、scponly的安装
#wget http://nchc.dl.sourceforge.net/sourceforge/scponly/scponly-4.8.tgz
#tar zxvf scponly-4.8.tgz
#cd scponly-4.8
#./configure --prefix=/usr/local/scponly --enable-chrooted-binary --enable-winscp-compat --enable-sftp-logging-compat --enable-scp-compat --enable-rsync-compat --enable-passwd-compat
#make
#make install
#echo /usr/local/scponly/sbin/scponlyc >> /etc/shells
二、使用scponly限制scp/sftp用户在指定目录。有2个方法:
1)利用其提供的脚本工具:make jail,创建新的限制用户及目录;在安装源目录下运行:
#make jail
按提示输入新用户,上传目录及密码:(如下面创建了一个test用户,上传目录为upload)
Username to install [scponly]test
home directory you wish to set for this user [/home/test]
name of the writeable subdirectory [incoming]upload
creating /home/test/upload directory for uploading files
若希望winscp不出现“找不到groups"的警告,你可心设定winscp不寻找groups文件或者你可以创建一个假的groups文件如:
cp groups /home/test/bin/groups
(注:当然你也可以使用make groups自动生成groups文件)
2,手工创建受限用户:
1)使用useradd -d /pub -s /usr/local/bin/scponlyc scpuser
(scpuser为用户名,/pub为其家目录,注意用户家目录须设为用户不可写,可写可能会使得用户修改ssh配置文件从而越过scponly)
(注:若用户要求其家目录可写,有一种方法是指定chroot目录及其cd的子目录2个目录,例如:
/home/userchroot//writable/subdir
//之前的目录是用户chroot的目录,//之后的子目录为登录之后cd进入的目录。
三、其他(若RHEL AS 4.0以上,可以还需要做出以下修改),以受限test用户为例:
#mkdir /home/test/dev
#cp -a /dev/null /home/test/dev/
若为64位系统:
# cp /lib64/ld-linux-x86-64.so.2 /home/test/lib64/
#cp /lib64/libnss_files.so.2 /home/test/lib64/
另,打开DEBUG之后,一定要关闭,否则WINSCP无法成功列目录。(即echo 2 > /usr/local/scponly/etc/scponly/debuglevel打开DEBUG)
评论排行
- ·Windows(Win7)下用Xming...(92)
- ·使用jmx client监控activemq(20)
- ·Hive查询OOM分析(14)
- ·复杂网络架构导致的诡异...(8)
- ·使用 OpenStack 实现云...(7)
- ·影响Java EE性能的十大问题(6)
- ·云计算平台管理的三大利...(6)
- ·Mysql数据库复制延时分析(5)
- ·OpenStack Nova开发与测...(4)
- ·LTPP一键安装包1.2 发布(4)
- ·Linux下系统或服务排障的...(4)
- ·PHP发布5.4.4 和 5.3.1...(4)
- ·RSYSLOG搭建集中日志管理服务(4)
- ·转换程序源码的编码格式[...(3)
- ·Linux 的木马程式 Wirenet 出现(3)
- ·Nginx 发布1.2.1稳定版...(3)
- ·zend framework文件读取漏洞分析(3)
- ·Percona Playback 0.3 development release(3)
- ·运维业务与CMDB集成关系一例(3)
- ·应该知道的Linux技巧(3)