Centos7安装搭建FTP服务器
发布时间
阅读量:
阅读量
1. 先查看是否已经安装了vsftpd
vsftpd -version
#-bash: /usr/sbin/vsftpd: 没有那个文件或目录
显示没有那个文件或者目录则表示当前系统没有安装ftp服务器,则使用以下命令安装(若遇到源问题或者没有找到对应库时可点击查看更换源):
yum install -y vsftpd
#.....
vsftpd -version
#vsftpd: version 3.0.2
这样显示已经安装完成
2.创建安全的FTP文件目录
mkdir -p /data/sftpuser/ftptest
3.创建新用户指定家目录并设置密码
username为你该ftp创建的用户名,上面创建的目录/data/mserver/data/user/space为用户登陆进去后的位置
useradd -d /data/sftpuser -M -s /sbin/nologin username
#...d 指定家目录 -s 禁止登陆; -M 不创建家目录
passwd ftpllx
#更改用户 ftpllx 的密码 。
#新的 密码:xx
#...
4.设置主目录
如果前面已经设置成功,则可以忽略此步骤,否则继续执行以下代码,同样username为对应的新创建用户名
usermod -d /data/sftpuser username
5.添加用户组(根据个人需要设置或者忽略此步骤)
创建一个指定用户组,并将新创建用户添加入制定用户组中
ftpgroup为要创建的用户组名称,请自行更改为自己设置名称,username依然为对应新创建的用户名
groupadd ftpgroup
usermod -G ftpgroup username
另一种方式可以在新建用户同时将其加入指定用户组
groupadd ftpgroup
useradd -g username ftpgroup
6.修改文件夹权限
虽然我们指定了目录,但是你会发现创建的新用户依然没有当前文件夹的权限,因此我们修改权限
chown root.ftpllx /data/sftpuser
chmod 755 /data/sftpuser
chown -R ftpllx.ftpllx /data/sftpuser/ftptest
chmod 755 /data/sftpuser/ftptest
使用ll -a 目录命令查看对应的文件权限
6.配置sshd_config
vim /etc/ssh/sshd_config
在sshd_config文件中先注释下面内容
Subsystem sftp /usr/libexec/openssh/sftp-server
然后加入下面几行内容
Subsystem sftp internal-sftp
Match Group ftpgroup
ChrootDirectory /data/sftpuser/%u
X11Forwarding no
AllowTcpForwarding no
ForceCommand internal-sftp
7.重启sshd
service sshd restart
8.配置只能访问自身目录,不能访问其他路径
修改/etc/vsftpd/vsftpd.conf
vim /etc/vsftpd/vsftpd.conf
#去掉前面的注释
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
ascii_upload_enable=YES
ascii_download_enable=YES
chroot_local_user=YES
chroot_list_enable=NO
chroot_list_file=/etc/vsftpd/chroot_list
listen=NO
#文件末尾添加
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
allow_writeable_chroot=YES
local_root=/home/ftp
其次将用户写入
9.本地进行测试
sftp -P [对应的开放端口] username@127.0.0.1
# 显示输入密码及对应成功username@127.0.0.1's password:
10.使用FillZilla进行访问

对应连接结果如下:

全部评论 (0)
还没有任何评论哟~
