sftp与vsftp配置


sftp与vsftp使用

sftp简单配置

sftp是ssh内含协议,也就是说只要sshd服务器启动了,sftp就可使用,不需要额外安装,它的默认端口和SSH一样为22。

sftp如何配置

  1. sftp版本需要大于4.8
rpm -qa|grep opensshd  | ssh -V  都可以查看版本信息
  1. 创建用户组与用户
groupadd sftpgroup  |创建用户组
useradd -g sftpgroup -M -s /sbin/nologin sftpuser  |创建sftp用户,用户组为sftpgroup。不生成家目录。
passwd sftpuser |创建密码
  1. 修改配置文件,启用sftp
vim /etc/ssh/sshd_config
#Subsystem  sftp    internal-sftp -l INFO -f AUTH   |打开此行,取消注释

添加以下配置:
Match   user  sftpuser								|sftp用户名
        ChrootDirectory /home/data/sftp/					|指定sftp远程共享目录
        X11Forwarding no
        AllowTcpForwarding no
        ForceCommand internal-sftp -l INFO -f AUTH
		
重启sshd服务:
systemctl restart sshd

修改sftp目录权限:
chmod 755 -R /data/sftp
修改属主属组:
chown sftpuser:sftpuser -R /data/sftp

现在sftp就配置成功了,可以使用下面命令登录尝试:

sftp sftpuser@127.0.0.1

vsfttp安装配置

安装vsftp

yum install -y vsftpd pam* db4*
systemctr start vsftpd

配置vsttp

vim /etc/vsftpd/vuser_passwd	|	用来报存虚拟用户账号密码文件
user
passwd

注:单行为账号,双行为密码。不需要隔空行,写完报存退出。

#生成虚拟用户口令认证文件
db_load -T -t hash -f /etc/vsftpd/vuser_passwd /etc/vsftpd/vuser_passwd.db

#编辑vsftp的PAM认证文件(将文件内所有已存在的注释掉,新添加下面两行)
vim /etc/pam.d/vsftpd
auth required /lib/security/pam_userdb.so db=/etc/vsftpd/vuser_passwd
account required /lib/security/pam_userdb.so db=/etc/vsftpd/vuser_passwd

#建立本地映射用户并设置宿主目录权限,所有的FTP虚拟用户需要使用一个系统用户,这个系统用户不需要密码。

useradd –d /home/vftpsite –s /sbin/nologin vftpuser

编辑主配置文件,并打开虚拟用户登录

# cat vsftpd.conf
write_enable=YES
anonymous_enable=NO
local_enable=YES
guest_enable=YES
guest_user_name=ftpuser
virtual_use_local_privs=NO
pam_service_name=vsftpd
user_config_dir=/etc/vsftpd/vuser_conf					#虚拟用户配置文件路径
ftpd_bammer=Welcome to xxxxxxxx FTP server				#xxx表示名字(可以是公司或者个人)
xferlog_enable=YES 
xferlog_file=/var/log/vsftpd.log
xferlog_std_format=YES
ascii_upload_enable=YES
ascii_dowmload_enable=YES 
tcp_Lwrappers=NO
setproctitle_enable=YES
1istenport=21
comnect_from_port_20=YES
idle_session_timeout=600 
data_comnection_timeout=120
max_clients=0
max_per_ip=3
local_max_rate=512000
allow_writeable_chroot=YES
修改虚拟用户配置文件,以限制权限
#admin开启所有权限
# cat admin 
write_enable=YES
anon_upload_enable=YES 
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
anon_world_readable_only=NO

#为customer_01只开启上传权限
# cat customer 01
anon_world_readable_only=YES
write_enable=YES
anon_upload_enable=YES 
virtual_use_local_prius=NO

#为user用户开启查看下载权限
# cat user
anon_world_readable_only=NO

重启服务测试:

systemctl restart vsftpd


#客户端连接测试:
yum install ftp -y 
ftp 0.0.0.0

配置文件权限说明:

注:只开通上传权限是不能开启查看权限的。

#设定根目录
local_root=/var/data/ftp/develop

# 设定权限,不拥有和代理系统用于同样的权限
virtual_use_local_privs=NO

#设定写权限
write_enable=YES

#设定权限:可以上传文件
anon_upload_enable=YES

#设定权限:不能新建目录
anon_mkdir_write_enable=NO

#设定权限:不能删除/重命名文件
anon_other_write_enable=NO

#设定权限:可以浏览目录下的文件
anon_world_readable_only=NO

#设定上传文件权限
anon_umask=022

#理解虚拟用户设定权限,vsftp差不多就够用了

“笔记是为了更好的复制--,”


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM