您的位置:首页 > 运维架构 > Linux

linux初学之ftp服务

2017-11-09 11:28 176 查看
 ftp文件传输协议

一 ftp的定义

ftp=文件传输协议(File Transfer Protocol)

二 ftp协议提供的软件

在rhel7中名字为vsftpd

vsftpd

三 部署ftp服务yum install vsftpd -y



syatemctl start vsftpd

systemctl enable vsftpd

firewall-cmd --permanent --add-service=ftp

firewall-cmd --reload



浏览器测试:ftp://172.25.254.153



lftp 172.25.254.141

二 ftp服务的基本信息

1)软件安装包: vsftpd

2)默认发布目录: /var/ftp

3)协议接口: 主动21 被动>1024 ss antlpe |grep vsftpd 查看端口

4)服务配置文件: /etc/vsftpd/vsftpd.conf 通过修改相对应的参数,实现相关功能,配置完systemctl restart vsftpd重启服务 

5)报错id解析

(550:服务本身功能未开放

530:用户认证失败

500:文件系统权限太大

553:本地文件系统权限过小)

三  ftp基本配置

vim /etc/vsftpd/vsftpd.conf

12行表示匿名用户是否可以登陆ftp服务器



16行 表示本地用户是否可以登陆ftp服务器

19行 表示ftp是否对客户端(登陆用户)可写

29行 表示匿名用户能否上传(put)



1)允许匿名用户登陆,可以上传文件并进行写操作,



配置完进行以下命令

chgrp ftp /var/ftp/put 把组改为ftp

chmod 775 /var/ftp/pub





2)不允许匿名用户登陆





3) 匿名用户家目录修改

anon_root=/direcotry





4)匿名用户上传文件默认权限修改

anon_umask=xxx





5)匿名用户建立目录

anon_mkdir_write_enable=YES|NO





6)匿名用户下载

anon_world_readable_only=YES|NO(no表示匿名用户可以下载)







7)匿名用户删除

anon_other_write_enable=YES|NO (只能删除自己上传的文件)





8)匿名用户使用的用户身份进行修改

chown_uploads=YES

chown_username=student

9)最大上传速率

anon_max_rate=102400(1m)



10)最大链接数

max_clients=2

2 本地用户设定

1)16行 表示本地用户是否可以登陆ftp服务器





如果关闭



2)本地用户家目录修改

local_root=/directory

3)本地用户上传文件权限

local_umask=xxx



4)限制本地用户浏览/目录

所有用户被锁到自己的家

chroot_local_user=YES

chmod u-w /home/*







1 用户黑名单建立

chroot_local_user=NO

chroot_list_enable=YES

chroot_list_file=/etc/vsftpd/chroot_list

参考白名单进行修改即可

2 用户白名单建立

chroot_local_user=YES

chroot_list_enable=YES

chroot_list_file=/etc/vsftpd/chroot_list







限制本地用户登陆

vim /etc/vsftpd/ftpusers  用户黑名单



vim /etc/vsftpd/user_list  用户临时黑名单



用户白名单设定

userlist_deny=NO  用户反转

/etc/vsftpd/user_list    参数设定,此文件变成用户白名单,只有在名单中出现的用户才能登陆ftp

ftp虚拟用户的设定

创建虚拟帐号身份

vim /etc/vsftpd/loginusers   文件名称任意



举例:

ftpuser1

123

ftpuser2

123

ftpuser3

123



db_load -T -t hash -f /etc/vsftpd/loginusers loginusers.db 加密

vim /etc/pam.d/ckvsftpd   文件名称任意



account  required pam_userdb.so db=/etc/vsftpd/loginusers 设定从何处读取用户名称和密码

auth  required pam_userdb.so db=/etc/vsftpd/loginusers

vim /etc/vsftpd/vsftpd.conf  更改配置文件

pam service name=ckvsftpd 

guest_enable=YES



然后虚拟用户就能登陆

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  linux 初学 ftp