Linux运维入门~18.ftp服务配置

文本传输协议(File Transfer Protocol,FTP)服务能够使用户不需要了解远程主机操作系统的操作方法,就可以直接完成主机之间可靠的文件传输。

安装ftp服务

安装软件前,首先要将selinux内核级防火墙关闭,否则会影响客户端的登录。

修改/etc/sysconfig/selinux    改成disabled

重启主机,让内核重新加载,识别selinux的值

yum install  vsftpd.X86_64

开启ftp服务

systemctl start vsftpd

关闭防火墙

systemctl stop firewalld

输入该机ip地址,例ftp://172.25.254.178

即可使用ftp服务

这就是ftp的发布目录,主机/var/ftp/

或使用终端访问

安装lftp服务 yum install lftp.x86_64

# lftp 172.25.254,178

常用的命令有:

ls:列出远程主机的当前目录文件

cd:在远程主机切换工作目录

ascii:设置文件传输模式为ASCII

birnary:设置文件传输模式为二进制

close:结束当前的FTP会话

hash:当数据缓冲区的数据传送完毕后显示一个#

get:从远程主机下载文件到本地主机

put:从本地主机传送文件到远程主机

open:连接到远程主机的FTP站点

quit:断开FTP连接并且退出FTP

?:显示本地帮助信息

!:切换到shell中

 

 

配置ftp服务

主配置文件vsftpd.conf

vim vsftp.conf 修改主配置文件

1)进程选项

Listen(YES|NO)

作用:listen字段表示是否使用stand-alone模式启动vsftpd,而不是使用超级进程(xinetd)控制它(vsftpd推荐使用stand-alone方式)。

YES:使用standalone启动vsftpd。

NO:不使用standalone启动vsftpd。

 

2)登录和访问选项控制

(1)anonymous_enable(YES|NO)

作用:用于控制是否允许匿名用户登录,YES表示允许

(2)local_enable(YES|NO)

作用:用于控制是否允许本地用户登录,YES表示允许

(3)pam_sevice_name

作用:用于设置PAM模块进行验证时所使用的PAM配置文件名。

该字段默认值为vsftpd,而默认的PAM配置文件为/etc/pam.d/vsftpd

(4)userlist_enable(YES|NO)

作用:/etc/vsftpd/user_list   在文件中添加用户名

YES开启,此文件中出现的用户无法登录ftp

NO不使用该文件

    相似指令:用户白名单设定
userlist_deny=NO
/etc/vsftpd/user_list       此文件变成用户白名单,只在名单中出现的用户可以登陆ftp

(5)tcp_wrappers=(YES|NO)

作用:是否在vsftpd中使用tcp_wrappers远程访问控制机制,YES表示使用

 

3)匿名用户选项

(1)匿名用户设定
anonymous_enable=YES|NO        ##匿名用户登陆限制

(2)让匿名用户上传
vim /etc/vsftpd/vsftpd.conf
 修改  write_enable=YES
           anon_upload_enable=YES


更改组           chgrp ftp /var/ftp/pub
更改组权限   chmod 775 /var/ftp/pub

(3)匿名用户家目录修改
anon_root=/direcotry

(4)匿名用户上传文件默认权限修改
anon_umask=xxx  (默认022)

(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
上传文件时所有人会变成student

注意:先修改文件使其可以上传,再修改使其变成student

 

4)本地用户选项

(1)本地用户设定
local_enable=YES|NO        本地用户登陆限制
write_enable=YES|NO        本地用户写权限限制

(2)本地用户家目录修改
local_root=/directory

(3)本地用户上传文件权限
local_umask=xxx

(4)限制本地用户浏览/目录
所有用户被锁定到自己的家目录中
chroot_local_user=YES
chmod u-w /home/*

(5)用户黑名单建立
chroot_local_user=NO
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
(6)用户白名单建立
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list

(7)限制本地用户登陆
vim /etc/vsftpd/ftpusers        用户永久黑名单


vim /etc/vsftpd/user_list       用户临时黑名单,可变白名单,具体方法参上

 

6)文件传输选项

(1)最大上传速率
anon_max_rate=102400

作用:每个服务器都要有最大传输值,因为带宽速度和硬盘读取速度都有上限,不能使服务器挂掉

(2)最大链接数
max_clients=2

作用:只允许两个用户登录

 

7)日志选项

(1)xferlog_enable=YES

作用:是否设置用于记录上传和下载的日志文件,YES表示启用

记录文件默认/var/log/xferlog (可更改)

(2)xferlog_std_format=YES

作用:用于设置日志的格式是否采用标准格式。

 

报错:

530 认证错误
500 文件系统权限过大
550 服务本身功能未开放
553 本地文件系统权限过小

 

ftp虚拟用户的设定
(创建虚拟帐号身份)


vim /etc/vsftpd/loginusers    ##文件名称任意
ftpuser1              虚拟账户1
123                      虚拟账户1密码
ftpuser2
123
ftpuser3
123

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

对该文件加密

vim /etc/pam.d/ftpauth        ##文件名称任意   认证时看这个文件
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

测试

虚拟帐号身份指定)
guest_username=ftpuser
chmod 555 /home/ftpuser

虚拟帐号家目录独立设定)
vim /etc/vsftpd/vsftpd.conf

编辑:
local_root=/ftpuserhome/$USER   本身不识别$USER
user_sub_token=$USER    引用shell中的字符

建立虚拟用户家目录mkdir /ftpuserhome

更改权限

chgrp ftpuser /ftpuserhome
chmod g+s /ftpuserhome


mkdir -p /ftpuserhome/ftpuser{1..3}

touch /ftpuserhome/ftpuser1/ftpuserdata1

测试:


虚拟帐号配置独立(将每个帐号配置文件独立)
vim /etc/vsftpd/vsftpd.conf

编辑:
user_config_dir=/etc/vsftpd/userconf     
手动创建
mkdir -p /etc/vsftpd/userconf     

vim /etc/vsftpd/userconf/ftpuser1
在此文件中设定配置文件中的所有参数,此文件的优先级高

 

写在最后,如果大家喜欢linux运维方面的知识,欢迎关注本博主,会每周更新与linux运维相关的一些小知识,帮助大家入门

愿你与我一同成长!

往期:

https://blog.csdn.net/Stella_Pooter/article/details/83111320      Linux运维入门~11.网络设置与路由器

https://blog.csdn.net/Stella_Pooter/article/details/83116835      Linux运维入门~12.DHCP服务配置

https://blog.csdn.net/Stella_Pooter/article/details/83273956      Linux运维入门~13.如何让你的虚拟机联网及DNS设置

https://blog.csdn.net/Stella_Pooter/article/details/83303100      Linux运维入门~14.虚拟机的安装及使用

https://blog.csdn.net/Stella_Pooter/article/details/83311261      Linux运维入门~15.yum源配置

https://blog.csdn.net/Stella_Pooter/article/details/83508184       Linux运维入门~16.网络yum源配置,第三方yum源配置,rpm命令使用

https://blog.csdn.net/Stella_Pooter/article/details/83536719       Linux运维入门~17.自动化安装虚拟机

 

Never say die

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值