学习笔记 Centos 5.5 升级Openssh
要安装libedit0类库,命令如下
rpm -Uvh ftp://ftp.pbone.net/mirror/atrpms.net/el5-i386/atrpms/stable/libedit0-3.0-1.20090722cvs.el5.i386.rpm
下列命令开始安装Openssh
wget http://www.ctohome.com/linux-vps-pack/webmin/upgrade-openssh.sh
设置sFTP的目标如下:
1. 用户只能通过sftp访问,不能登录SSH
2. 用户要被锁定在特定的目录下,没有读写其它目录的权限
首先修改sshd的配置文件:
$ sudo nano /etc/ssh/sshd_config
#Subsystem sftp /usr/lib/openssh/sftp-server
#该行(上面这行)注释掉
Subsystem sftp internal-sftp
Match group sftp
#匹配sftp组,如为单个用户可用:Match user 用户名; 设置此用户登陆时的shell设为/bin/false,这样它就不能用ssh只能用sftp
ChrootDirectory /sftphome/
#指定用户被锁定到的那个目录,为了能够chroot成功,该目录必须属主是root,并且其他用户或组不能写
X11Forwarding no
AllowTcpForwarding no
ForceCommand internal-sftp
#UsePAM yes
#该行(上面这行)同样注释掉,或者移到Subsystem sftp internal-sftp的上面
下面建立sftp组和一个测试用户testuser,该用户属于sftp组:
$ sudo groupadd sftp
$ sudo useradd -d /testuser -s /bin/false -g sftp testuser
$ sudo passwd testuser (111111)
创建Ftp目录:
$ sudo mkdir -p /sftphome/testuser
还要修改目录权限,把testuser目录属主给予用户testuser:
$ sudo chown testuser:sftp /sftphome/testuser
这样,testuser用户便可以自由操作此目录了。
重启SSH服务 sshd:
$ sudo /etc/init.d/sshd reload
注意:如何限制sftp用户的访问目录不跳出去,生成 /sftphome/testuserhome/testuser 这样的目录
PS:自己修改的shell命令可以快速安装