Sftp 服务限制用户访问权限.doc_第1页
Sftp 服务限制用户访问权限.doc_第2页
Sftp 服务限制用户访问权限.doc_第3页
Sftp 服务限制用户访问权限.doc_第4页
Sftp 服务限制用户访问权限.doc_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

。Sftp 服务限制用户访问权限 Sftp 服务要想限制用户的访问权限(即sftp服务用户只能访问特定的文件目录),那么系统的OpenSSH 服务软件的版本必须是4.8p1及以上版本才支持,如果低于该版本,就要首先升级OpenSSH版本。第一步:查看OpenSSH软件版rootOracle-2 # rpm -qa | grep sshopenssh-4.3p2-36.el5openssh-clients-4.3p2-36.el5openssh-server-4.3p2-36.el5openssh-askpass-4.3p2-36.el5或者:rootOracle-2 # ssh -VOpenSSH_4.3p2, OpenSSL 0.9.8e-fips-rhel5 01 Jul 2008发现操作系统的OpenSSH软件是4.3p2,低于4.8p1版本,所以需要做升级。第二步:下载最新的OpenSSH软件OpenSSH是免费的,可以到官网上进行下载: 当前最高版本是OpenSSH6.0,我们就可以下载该版本:openssh-6.0p1.tar.gz下载的时候,我们需要看一看官方安装指导文档Installation instructions ,里面有安装该版本的注意事项和安装步骤说明,最好仔细阅读一下。第三步:确认OpenSSH软件安装条件在官方安装指导文档中提到,安装OpenSSH6.0需要具备两个条件:You will need working installations of Zlib and OpenSSL.Zlib 1.1.4 or or greater (ealier 1.2.x versions have problems): /zlib/OpenSSL 0.9.6 or greater:/上面指出了,OpenSSH6.0安装所依赖的两款软件Zlib和OpenSSL的最低版本,如果服务器的软件版本不符合要求,就要先升级该两款软件。首先我们需要确认服务器上Zlib和OpenSSL软件的版本:rootOracle-2 # rpm -qa | grep -i zlibzlib-devel-1.2.3-3perl-Compress-Zlib-1.42-1.fc6zlib-1.2.3-3perl-IO-Zlib-1.04-4.2.1rootOracle-2 # rpm -qa | grep -i opensslpyOpenSSL-0.6-1.popenssl-devel-0.9.8e-12.el5openssl-0.9.8e-12.el5可以看到,Zlib 的版本是1.42 ,OpenSSL的版本是0.9.8,满足OpenSSH6.0安装的要求。第四步:卸载OpenSSH软件安装之前,有下面几个工作需要完成:(1)停sshd服务rootOracle-2 # service sshd stopStopping sshd: OK (2)备份sshd文件说明:在卸载之前需要将 /etc/init.d/sshd 文件做个备份,安装完成后,需要再将备份的sshd文件拷贝到/etc/init.d/目录中,这样可以保证升级完成后可以继续使用service sshd start/stop/restart 的方式管理sshd服务,否则将不可使用。rootOracle-2 # cp /etc/init.d/sshd /root/sshd(3)卸载服务器上已经存在的OpenSSH软件卸载OpenSSH,通过rpm -qa 命名查询出需要卸载的rpm软件包, 再用 rpm -e 命令卸载:查询:rootOracle-2 # rpm -qa | grep -i opensshopenssh-4.3p2-36.el5openssh-clients-4.3p2-36.el5openssh-server-4.3p2-36.el5openssh-askpass-4.3p2-36.el5卸载:rootOracle-2 # rpm -e openssh-4.3p2-36.el5 -depsrootOracle-2 # rpm -e openssh-clients-4.3p2-36.el5 -depsrootOracle-2 # rpm -e openssh-server-4.3p2-36.el5 -depsrootOracle-2 # rpm -e openssh-askpass-4.3p2-36.el5 -deps(4)删除 /etc/ssh/ 目录下的ssh文件rm -rf /etc/ssh/*第五步:安装OpenSSH软件解压下载的软件包 openssh-6.0p1.tar.gzrootOracle-2 # tar -zxvf openssh-6.0p1.tar.gz安装OpenSSH软件:进入解压出的文件夹,按照顺序执行下面的编译和安装命令:rootOracle-2 # ./configure prefix=/usr sysconfdir=/etc/ssh with-pam with-md5-passwords mandir=/usr/share/manrootOracle-2 # makerootOracle-2 # make install执行完成后,就可以用 ssh -V 命名查看openssh的版本,验证安装结果:rootOracle-2 # ssh -VOpenSSH_6.0p1, OpenSSL 0.9.8e-fips-rhel5 01 Jul 2008可以看到版本已经变成6.0p1了,说明安装没有问题。接下来,恢复sshd文件,将备份的sshd文件复制到 /etc/init.d/ 目录下:rootOracle-2 # cp /root/sshd /etc/init.d/sshd 测试sshd服务的启动和停止:rootOracle-2 # service sshd restartStopping sshd: OK Starting sshd: OK OK,到这里,OpenSSH 的升级就做完了。注意:这样升级完成,在服务器关机启动后,sshd服务不会自动启动,为了使sshd服务在开机时自动启动,我们需要执行下面的命令:rootOracle-2 # chkconfig -add sshdrootOracle-2 # chkconfig -level 123456 sshd on这样开机后就可以自动启动sshd服务了。参考内容:/?p=37第六步:配置sftp服务用户的访问权限(1)创建sftp用户的主根目录rootOracle-2 # mkdir -p /home/sftprootOracle-2 # chmod -R 755 /home/sftp(2)创建sftp用户组和一个sftp用户rootOracle-2 # groupadd sftprootOracle-2 # useradd -g sftp -d /home/sftp/blog blogrootOracle-2 # passwd blog(3)权限设置设置 /etc/ssh/sshd_config配置文件,通过Chroot限制用户的根目录。rootOracle-2 # vi /etc/ssh/sshd_config# override default of no subsystems#注释掉原来的Subsystem设置#Subsystem sftp /usr/libexec/sftp-server#启用internal-sftpSubsystem sftp internal-sftp # Example of overriding settings on a per-user basis#Match User anoncvs# X11Forwarding no# AllowTcpForwarding no# ForceCommand cvs server#限制blog用户的根目录Match User pay ChrootDirectory /home/sftp/blog/ X11Forwarding no AllowTcpForwarding no ForceCommand internal-sftp保存退出,重启sshd服务:rootOracle-2 # service sshd restart(4)测试sftp权限控制使用blog用户尝试登录sftp ,发现无法登陆,给出的提示也很难看懂,什么原因呢?原来要使用Chroot功能实现用户根目录的控制,目录权限的设置非常重要,否则将会无法登陆。目录权限设置上要遵循2点:ChrootDirectory设置的目录权限及其所有的上级文件夹权限,属主和属组必须是root;ChrootDirectory设置的目录权限及其所有的上级文件夹权限,只有属主能拥有写权限,也就是说权限最大设置只能是755。如果不能遵循以上2点,即使是该目录仅属于某个用户,也可能会影响到所有的SFTP用户。设置目录的属主和权限:rootOracle-2 # chown root:root /home/sftp /home/sftp/blogrootOracle-2 # chmod 755 /home/sftp /home/sftp/blog由于上面设置了目录的权限是755,因此所有非root用户都无法在目录中写入文件。我们需要在ChrootDirectory指定的目录下建立子目录,重新设置属主和权限。以blog目录为例:rootOracle-2 # mkdir /home/sftp/blog/webrootOracle-2 # chown blog:sftp /home/sftp/blog/webrootOracle-2 # chown 775 /home/sftp/blog/web设置完成后,我们再用blog用户登录sftp,发现这次可以正常登录了,并且可以访问的根目录控制在了/home/sftp/blog/下,达到了

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论