Linux-RedHat7.4-服务器搭建FTP

Linux FTP

1、安装vsftpd和lftp:

yum -y install vsftpd lftp ftp

2、创建用户:

vsftpd提供了三种认证方式:本地用户、虚拟用户、匿名用户,本文介绍本地用户的认证方式。

注:本文创建的本地用户为只能访问ftp,不可以登录linux。

useradd -d data001 -s /sbin/nologin nginx01
passwd nginx01
Log*#06#
useradd -d data002-s /sbin/nologin nginx02
passwd nginx02
Log*#06#
3、新建chroot_list文件:
cd /etc/vsftpd
touch chroot_list

4、配置用户访问权限:

1)vsftpd.conf:

vim /etc/vsftpd/vsftpd.conf
 
修改以下几项:


#禁用匿名登录,默认是启用
anonymous_enable=NO
#NO表示所有用户都可以跳出家目录,YES表示都不可以跳出,默认为都可以跳出
chroot_local_user=NO
#启用可以或不可以跳出家目录的例外
chroot_list_enable=YES
#当chroot_local_user=NO时,chroot_list里面配置的用户不可以跳出家目录,当chroot_local_user=YES时,chroot_list里面配置的用户可以跳出家目录
chroot_list_file=/etc/vsftpd/chroot_list
 
#添加以下几项:
 
#NO表示所有用户均不可以登录ftp,YES表示所有用户均能访问ftp,默认是YES
userlist_deny=NO
#当userlist_deny=NO时,user_list是白名单,当userlist_deny=YES时,user_list是黑名单
userlist_file=/etc/vsftpd/user_list

此时,解决方法有两个:

第一种,就是在vsftpd.config里面添加“allow_writeable_chroot=YES”:

vim /etc/vsftpd/vsftpd.conf

用户家目录可写,默认是只读的

allow_writeable_chroot=YES

注:allow_writeable_chroot=YES的作用:
如果设置了用户不能跳出家目录,那么在vsftp2.3版本之后要求家目录默认只能是只读的,此时如果家目录权限不是只读的,就不能登录,登录会报以下错误:Login failed: 500 OOPS: vsftpd: refusing to run with writable root inside chroot()。

第二种,把家目录设置为只读:“chmod a-w /ftpfile”:

chmod a-w /ftpfile
2)chroot_list:

添加test用户

vim /etc/vsftpd/chroot_list

test
3)user_list:

添加test用户

vim /etc/vsftpd/user_list

test
4)vsftpd:
此时,如果不修改vsftpd文件的配置,登录会报530错误:Login failed: 530 Login incorrect.

解决方法有两个:

第一:注释auth   required        pam_shells.so;

vim /etc/pam.d/vsftpd

#auth   required        pam_shells.so

第二:pam_shells.so改为pam_nologin.so

vim /etc/pam.d/vsftpd

auth   required        pam_nologin.so
5、修改selinux配置:
如果不修改selinux配置,登录会报500错误:vsftpd 500 OOPS: chroot,因为test用户的shell是nologin的。

此时,解决方法有两个:

第一,关闭selinux:

vim /etc/selinux/config

SELINUX=disabled

第二,修改ftp_full_access为on:

getsebool -a | grep ftpd
setsebool -P ftpd_full_access 1
setenforce 1
6、重启:
reboot
7、关闭防火墙:

(1)设置开机启用防火墙:

systemctl enable firewalld.service
(2)设置开机禁用防火墙:

systemctl disable firewalld.service
(3)启动防火墙:

systemctl start firewalld
(4)关闭防火墙:

systemctl stop firewalld
(5)检查防火墙状态:

systemctl status firewalld 
(6)查看防火墙开启端口表:

firewall-cmd --list-ports

8、启动vsftpd服务:
#启动服务
systemctl start vsftpd.service
#停止服务
systemctl stop vsftpd.service
#重启服务
systemctl restart vsftpd.service
#开机自启
systemctl enable vsftpd.service
#查看自启列表
systemctl -l
systemctl -l | grep vsftpd
9、连接:

1.打开终端。在终端中输入以下命令来连接到FTP服务器:

ftp <服务器地址或IP>

2.输入用户名和密码。连接到FTP服务器后,系统会提示你输入用户名和密码:

Name: <用户名>
Password: <密码>

3.导航FTP服务器。登录成功后,你可以使用ftp命令导航FTP服务器的文件和目录。以下是一些常用的命令:

  • ls:列出当前目录下的文件和目录。
  • cd <目录>:进入指定的目录。
  • get <文件>:从FTP服务器下载指定的文件。
  • put <文件>:上传文件到FTP服务器。
  • pwd:显示当前所在的FTP服务器目录。
  • quit:退出FTP连接。
get file.txt
put file.txt

4.退出FTP连接。当你完成了对FTP服务器的操作后,可以使用以下命令退出FTP连接:

quit

(完)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值