linux初学之ftp服务

来源:互联网 发布:apk优化 编辑:程序博客网 时间:2024/05/21 01:54
 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

然后虚拟用户就能登陆


原创粉丝点击