一、ftp部署
1、ftp的定义
ftp:// 文件传输协议
2、ftp协议提供的软件
vsftpd
ftp的基本信息
访问数据端口:21
数据传输端口:>1024随机端口
默认发布目录 : /var/ftp
3、部署ftp服务
yum install vsftpd -y
yum install lftp -y
systemctl start vsftpd
systemctl enable vsftpd
firewall-cmd --permanent --add-service=ftp
firewall-cmd --reload
客户机:
[root@localhost ~]# lftp 172.25.254.74
lftp 172.25.254.74:~> ls
drwxr-xr-x 2 0 0 6 Aug 03 2015 pub
二、ftp服务的基本信息
软件安装包 :vsftpd
默认发布目录: /var/ftp
默认接口: 21/tcp
服务配置文件:
vim /etc/vsftpd/vsftpd.conf
systemctl restart vsftpd
三、报错id的解析:
500 ##文件系统权限过大
530 ##用户认证失败
550 ##服务本身功能未开放
553 ##本地文件系统权限过小
四、FTP服务管理
1、匿名用户是否可以登陆
vim /etc/vsftpd/vsftpd.conf
anonymous_enable=YES|NO ##
设置为NO则不能登陆
2、本地用户
local_enable=NO|YES 客户端用户)是否可以登陆
write_enable=YES|NO ftp是否对登陆用户可写
改为NO后
3、匿名用户上传
vim /etc/vsftpd/vsftpd.conf
write_enable=YES
anon_upload_enable=YES
对/pub目录授权
服务端shell
chgrp ftp /var/ftp/pub/
chmod 775 /var/ftp/pub/ 改权限
4、上传目录
客户端切换到/pub: cd pub/
5、匿名用户加目录修改
anon_root=/test
服务端建立文件
查看
6、匿名用户上传文件默认权限修改
anon_umask=022
修改前权限
修改后
8、匿名用户建立目录
anon_mkdir_write_enable=YES|NO
修改前
修改后
9、匿名用户下载 no 表示匿名用户可以下载
anon_world_readable_only=YES|NO
客户端建立文件
10、匿名用户删除
anon_other_write_enable=YES|NO
11、匿名用户使用的用户身份修改
chown_uploads=YES
chown_username=tom
chown_upload_mode=0644
12、最大上传速率
anon_max_rate=1024 K
截取文件
上传
13、最大连接数量
max_clients=1
14、用户黑名单建立
chroot_local_user=NO
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
将root在永久黑名单中删除,并且添加到临时黑名单,此时root可以正常登录:
五、ftp虚拟用户的设定
1、创建新的虚拟化帐号身份
1、建立文件:/etc/vsftpd/loginusers
2、编辑:vim loginusers
westos1 虚拟用户名
123 密码
westos2
123
westos3
123
3、生成文件:
[root@localhost vsftpd]# db_load -T -t hash -f loginusers loginusers.db #生成密码加密文件
[root@localhost vsftpd]# ls
ftpusers loginusers loginusers.db user_list vsftpd.conf vsftpd_conf_migrate.sh
4、编辑文件 vim /etc/pam.d/ftpauth ##添加用户名和密码关联
添加:
account required pam_userdb.so db=/etc/vsftpd/loginusers
auth required pam_userdb.so db=/etc/vsftpd/loginusers
5、vim /etc/vsftpd/vsftpd.conf
125行左右 添加:
pam_service_name=ftpauth 关联文件
guest_enable=YES
guest_username=tom
2、ftp虚拟用户管理
1、建立虚拟用户家目录
[root@localhost ~]# mkdir -p /ftphome/westos{1..3}
[root@localhost ~]# mkdir -p /ftphome/westos1/westos1data
[root@localhost ~]# mkdir -p /ftphome/westos2/westos2data
[root@localhost ~]# mkdir -p /ftphome/westos3/westos3data
2、
编辑:vim /etc/vsftpd/vsftpd.conf
添加:
local_root=/ftphome/$USER
user_sub_token=$USER
测试:
[root@foundation38 ~]# lftp 172.25.254.138 -u westos2
Password:
lftp westos2@172.25.254.138:~> ls
ls: Login failed: 500 OOPS: cannot change directory:/ftphome/$USER
添加后:
lftp westos1@172.25.254.138:~> ls
drwxr-xr-x 2 0 0 6 Nov 03 03:28 westos1data
3、虚拟用户特殊权限
[root@localhost ~]# mkdir /etc/vsftpd/user_conf 建立目录
[root@localhost ~]# touch /etc/vsftpd/user_conf/westos1 添加特殊用户westos1
编辑:
vim /etc/vsftpd/user_conf/westos1
添加:
anon_upload_enable=YES
编辑:vim /etc/vsftpd/vsftpd.conf
添加:user_config_dir=/etc/vsftpd/user_conf
测试: