前言:
如今兄弟们对“centosftp用户权限设置”大概比较珍视,兄弟们都想要了解一些“centosftp用户权限设置”的相关知识。那么小编也在网上搜集了一些有关“centosftp用户权限设置””的相关文章,希望你们能喜欢,各位老铁们快快来学习一下吧!虽然现在大多数的程序员已经不使用ftp来传输数据了,但对于大多数对程序并不是很懂的人来说,ftp还是相当好的软件,至少直观且操作简单。另外如果单纯是文件的上传或下载的话,ftp也是不错的选择。当然,如果是代码的上传下载的话,还是建议用git啦。
ftp容器要求:
1、搭建的ftp尽量不污染主机环境,不需要在主机环境下创建用户。
2、ftp使用尽量少的端口。
按照要求的话:
1、如果不要在主机环境下创建用户,那就只能是在ftp中创建虚拟用户,因此要用到db_load软件。而该软件一般在centos下自带,在alpine下是没有的。因此大多数ftp的镜像都是基于centos系统创建的。
2、ftp有主动模式和被动模式之分。被动模式必须给ftp更多的端口用来传输数据,而主动模式则不用,故我们这里选用主动模式。
开始搭建ftp容器
1、创建容器
docker run -d --name ftp -p 21:21 -e FTP_USER=admin -e FTP_PASS=ppp123 -v /data/vsftpd:/etc/vsftpd -v /data/website:/website --restart=always fauria/vsftpd
# -p 21:21 这个必须,ftp需要
# -e FTP_USER=admin 设置一个ftp用户,默认也会设置此用户
# -e FTP_PASS=ppp123 给admin用户设置一个密码,不设置的话就随机密码
# -v xxx:zzz 分别映射配置信息和网站
# 这里我们只映射了21端口,20端口其实可以不用映射哦
# 喜欢被动模式的可以用 docker run -d --name ftp -p 21:21 -p 21100-21110:21100-21110 -e PASV_ADDRESS=xxx -e PASV_MIN_PORT=21100 -e PASV_MAX_PORT=21110 -v /data/vsftpd:/etc/vsftpd:ro -v /data/website:/website --restart=always fauria/vsftpd
2、修改配置
vi /data/vsftpd/vsftpd.conf
设置 local_root=/website
3、给网站目录以写入权限,否则ftp无法上传成功
chmod a+rw /data/website
ftp容器如何添加虚拟用户
1、进入ftp容器
docker exec -it ftp bash
2、添加用户名和密码。单数行是用户名,双数行是密码。也就是一行用户名,一行密码的形式。
vi /etc/vsftpd/virtual_users.txt
3、将刚刚添加的用户,添加到ftp的虚拟用户数据库中
/usr/bin/db_load -T -t hash -f /etc/vsftpd/virtual_users.txt /etc/vsftpd/virtual_users.db
4、退出容器
exit
5、重启容器,用刚刚添加的用户登录测试
docker restart ftp
如果提示没有db_load的话,就安装一下。
yum install -y libdb4安装 (或者yum install -y db4)
那这里就有个问题了,如果用的是alpine作为容器的基础环境,而alpine并没有db_load软甲,也没法安装的话,该如果添加虚拟用户呢?相信这个问题一定难不住你的。
标签: #centosftp用户权限设置