您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 质量控制/管理 > Linux上设置用户通过SFTP访问目录的权限的方法
Linux上设置用户通过SFTP访问目录的权限的方法作者:乐晨来源:OSChina这篇文章主要介绍了Linux上设置用户通过SFTP访问目录的权限的方法,SFTP可以理解为使用SSH协议进行FTP传输的协议,因而同时要对OpenSSH进行相关设置,需要的朋友可以参考下sftp和ftp是两种协议是不同的,sftp是ssh内含的协议,只要sshd服务器启动了,它就可用,它本身不需要ftp服务器启动。1.查看openssh软件版本,想sftp服务用户只能访问特定的文件目录,版本需要4.8以上复制代码代码如下:[root@localhostftp]#rpm-qa|grepopensshopenssh-server-5.3p1-81.el6_3.x86_64openssh-5.3p1-81.el6_3.x86_64openssh-clients-5.3p1-81.el6_3.x86_642.新增用户,限制用户只能通过sftp访问复制代码代码如下:[root@localhostftp]#useradd-m-d/opt/ftp/dave-s/sbin/nologindave3.限制用户通过sftp登录进来时只能进入主目录,修改/etc/ssh/sshd_config文件复制代码代码如下:[root@localhostftp]#vim/etc/ssh/sshd_config#Subsystemsftp/usr/libexec/openssh/sftp-serverSubsystemsftpinternal-sftpMatchUserdaveChrootDirectory/opt/ftp/daveX11ForwardingnoAllowTcpForwardingnoForceCommandinternal-sftp重启ssh4.测试访问复制代码代码如下:root@10.1.1.200:test#sftp-oPort=22dave@10.1.6.175Connectingto10.1.6.175...dave@10.1.6.175'spassword:Readfromremotehost10.1.6.175:ConnectionresetbypeerCouldn'treadpacket:Connectionresetbypeer发现连接不上,查看日志复制代码代码如下:[root@localhostftp]#tail/var/log/messagesJan611:41:41localhostsshd[4907]:fatal:badownershipormodesforchrootdirectory/opt/ftp/daveJan611:41:41localhostsshd[4905]:pam_unix(sshd:session):sessionclosedforuserdave解决方法:目录权限设置上要遵循2点:ChrootDirectory设置的目录权限及其所有的上级文件夹权限,属主和属组必须是root;ChrootDirectory设置的目录权限及其所有的上级文件夹权限,只有属主能拥有写权限,权限最大设置只能是755。如果不能遵循以上2点,即使是该目录仅属于某个用户,也可能会影响到所有的SFTP用户。复制代码代码如下:[root@localhostftp]#lltotal4drwxr-xr-x3davedave4096Jan513:06dave[root@localhostftp]#chownroot:rootdave[root@localhostftp]#chmod755dave[root@localhostftp]#lltotal4drwxr-xr-x3rootroot4096Jan513:06dave然后在测试通过复制代码代码如下:root@10.1.1.200:test#sftp-oPort=22dave@10.1.6.175Connectingto10.1.6.175...dave@10.1.6.175'spassword:sftplstestsftpcd..sftplstestsftpcdtestsftpls1.txtsftpget1.txtFetching/test/1.txtto1.txt/test/1.txt可以看到已经限制用户在家目录,同时该用户也不能登录该机器。
本文标题:Linux上设置用户通过SFTP访问目录的权限的方法
链接地址:https://www.777doc.com/doc-2884654 .html