Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1243555
  • 博文数量: 298
  • 博客积分: 10050
  • 博客等级: 上将
  • 技术积分: 3277
  • 用 户 组: 普通用户
  • 注册时间: 2007-03-14 13:36
文章分类
文章存档

2015年(7)

2012年(1)

2010年(5)

2009年(55)

2008年(73)

2007年(160)

我的朋友

分类: LINUX

2007-09-24 09:35:34

前些日子,我在一个虚拟主机提供商那里发现,他的用户只能用SSH连接服务      
  器,且只能上传和下载文件,不能使用控制台,并且所有的活动都限制在了自己   
  的主目录中~!                                                            
                                                                           
  当时感觉非常好,就想知道人家是怎么搞的,于是呼,查了一些资料,问了一些   
  朋友,终于在今晚(2004年1月12日凌晨)搞定了~!哈哈。过程如下:             
                                                                           
  一,我们的环境和目的                                                     
  操作系统为RedHat Linux 9.0                                               
  所有属于web组的用户都将只能通过SSH管理自己的文件,而无法使用SSH的控制台  
  进行登陆。                                                               
                                                                           
  这样,就使SSH代替了FTP这种不安全的连接方式,并避免了用户通过SSH使用控制  
  台登陆而产生的不安全因素。                                               
                                                                           
  首先,移除系统中的OpenSSH。以SSH来代替OpenSSH。                          
  OpenSSH是无法做到如上的功能的,只有强悍的SSH。呵呵:)                   
                                                                           
                                                                           
  二,下载编译SSH                                                          
  1,下载SSH的源代码包:                                                   
  wget                       
                                                                           
  2,编译                                                                  
  ./configure --without-x --enable-static=yes                              
  make                                                                     
  make install                                                             
  过程简单,但必须要--without-x和--enable-static-yes                       
                                                                           
  编译完成后,将./ssh-3.2.9.1/startup/linux/redhat/下的一个名为sshd2的文   
  件拷贝到/etc/rc.d/init.d/目录下。用以控制SSH服务。                       
                                                                           
  二,配置SSH                                                              
  编辑/etc/ssh2/目录下的sshd2_config                                       
  加入或编译如下一句:                                                     
  ChRootGroups web                                                         
  这样,以后建立用户的时候,只要是web组的用户,将会受到不能使用控制台登陆  
  的限制                                                                   
                                                                           
  假设所有web组的用户的主目录都在/home/ftp目录下,如webtest用户的主目录为  
  /home/ftp/webtest。                                                      
                                                                           
                                                                           
  三,web组用户的目录配置                                                  
  1,下面以webtest用户为例:                                               
  建立好/home/ftp/webtest目录后,使用如下命令添加用户webtest(当然要有web   
  组先):                                                                  
  useradd webtest -g web -d /home/ftp/webtest -s /bin/ssh-dummy-shell      
                                                                           
  2,将/usr/local/bin/目录下的sftp-server2.static和ssh-dummy-shell.static  
  两个文件拷贝到/home/ftp目录下:                                          
  cp /usr/local/bin/sftp-server2.static /home/ftp/                         
  cp /usr/local/bin/ssh-dummy-shell.static /home/ftp/                      
                                                                           
  在每个用户的主目录中,建立一个名字为bin的目录,如/home/ftp/webtest/bin   
  在这个bin目录中,做两个硬连接:                                          
  ln /home/ftp/sftp-server2.static sftp-server                             
  ln /home/ftp/ssh-dummy-shell.static ssh-dummy-shell                      
                                                                           
  四,OK了,用webtest用户登陆一下试试。效果完全实现了。哈哈                
                                                                           
  是不是很简单。                                                           
                                                                           
  以上的过程,完全可以做一个B/S的管理程序,使得用户即时注册,即时生效。    
  我个人觉得这要比普通的FTP服务安全了一些。                                
                                                                           
  头一次写文章,大家多多指教。呵呵:)
阅读(1126) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~