FTP如何部署指定用户访问指定目录
Posted 格格巫 MMQ!!
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了FTP如何部署指定用户访问指定目录相关的知识,希望对你有一定的参考价值。
一、安装 vsftpd
1
运行以下命令安装vsftpd:
yum install -y vsftpd
FTP如何部署指定用户访问指定目录
2
运行以下命令打开及查看etc/vsftpd:
cd /etc/vsftpd
ls
FTP如何部署指定用户访问指定目录
3
运行以下命令设置开机自启动:
systemctl enable vsftpd.service
4
运行以下命令启动 FTP 服务:
systemctl start vsftpd.service
5
运行以下命令查看 FTP 服务端口:
netstat -antup | grep ftp
END
二、添加用户并限制目录及指定用户访问指定目录
1
运行以下命令关闭SElinux:
setenforce 0
2
为目录制定相应权限,将 vsftpd.conf配置文件中的 local_umask的值改为 000
cd /etc/vsftpd
vim vsftpd.conf
按 i 键进入编辑模式,将local_umask=022改为local_umask=000
按ESC ,冒号加x退出。
3
创建 ceshi1用户并创建ceshi1专有的/var/www目录:
useradd -d /var/www -s /sbin/nologin ceshi1
为ceshi1用户创建密码:
passwd ceshi1
密码暂时设置为123456
4
创建 ceshi2用户并创建ceshi2专有的/var/web目录:
useradd -d /var/web -s /sbin/nologin ceshi2
为ceshi2用户创建密码:
passwd ceshi2
密码暂时设置为123456
5
如果出现文件已经存在的错误: Creating mailbox file: File exists
find / -name “*ceshi1” 找到ceshi1文件,将其删除
cd /var/spool/mail
rm -rf ceshi1
6
如果出现用户已经存在的错误:useradd: user ‘ceshi1’ already exists
userdel ceshi1
7
如果出现目录已经存在的错误:
useradd: warning: the home directory already exists.
Not copying any file from skel directory into it.
则将目录删除即可:
cd /var
rm -rf web
END
三、修改配置文件
修改 vsftpd.conf配置文件:
cd /etc/vsftpd
vim vsftpd.conf
将anonymous_enable改为NO,阻止匿名上传:
FTP如何部署指定用户访问指定目录
将chroot_list_enable和chroot_list_file的注释去掉,阻止用户访问上级目录:
在配置文件的最下方添加如下代码:
allow_writeable_chroot=YES #允许用户根目录可写
保存退出
创建 chroot_list文件并添加用户:
cd /etc/vsftpd
touch chroot_list
vim chroot_list
FTP如何部署指定用户访问指定目录
进入到 www目录,创建index.html文件,且进入到web目录,创建index.php
cd /var/www
touch index.html
cd /var/web
touch index.php
重启服务进行测试:
service vsftpd restart
如果上面的命令没有重启成功,可以使用以下命令:
/bin/systemctl restart vsftpd
如果登录不上,可以将TLS改为普通
FTP如何部署指定用户访问指定目录
并选择“编辑”,“设置”,“被动模式”,改为“退回到主动模式”
FTP如何部署指定用户访问指定目录
如果是阿里云服务器的话,可以在安全组的配置规则中添加21端口
以上是关于FTP如何部署指定用户访问指定目录的主要内容,如果未能解决你的问题,请参考以下文章
linux上搭建ftpvsftp, 解决访问ftp超时连接, 解决用户指定访问其根目录,解决ftp主动连接被动连接的问题