vsftpd安装配置
vsftpd安装配置
vsftpd测试服务器:
192.168.1.191
1、安装:
yum provides */vsftpd
yum install vsftpd -y
2、匿名用户最基本配置(生产上不设置匿名用户访问):
vim /etc/vsftpd/vsftpd.conf
允许匿名用户访问
anonymous_enable=YES
允许匿名用户上传文件并可以创建目录:
anon_upload_enable=YES
anon_mkdir_write_enable=YES
修改匿名目录所有者(默认是root):
chown ftp.ftp /var/ftp/pub/
设置允许匿名用户可上传可读写:
anon_other_write_enable=YES
注:如果去掉这一条,匿名用户可以创建,上传,但是不能删除。
3、启动vsftp服务:
service vsftpd start
service vsftpd stop
service vsftpd restart
4、正式部署vsftpd(废弃原来默认的ftp目录:/var/ftp):
首先修改配置文件
备份配置文件
cp -a vsftpd.conf vsftpd.conf.bak
echo "" > vsftpd.conf
vim /etc/vsftpd/vsftpd.conf
加入以下内容:
anonymous_enable=NO
write_enable=YES
chroot_local_user=YES
chroot_list_enable=YES
use_localtime=YES
local_enable=YES
allow_writeable_chroot=YES
xferlog_enable=YES
local_umask=022
pam_service_name=vsftpd
use_localtime=YES
listen_port=21
chroot_local_user=YES
idle_session_timeout=120
data_connection_timeout=120
guest_enable=YES
guest_username=ftpuser
user_config_dir=/etc/vsftpd/vuser_conf
virtual_use_local_privs=YES
pasv_min_port=10060
pasv_max_port=10090
accept_timeout=5
connect_timeout=1
ascii_upload_enable=YES
ascii_download_enable=YES
5、创建宿主用户
创建用户 ftpuser 指定 /vsftpd 目录:
useradd -g root -M -d /vsftpd -s /sbin/nologin ftpuser
设置用户 ftpuser 的密码:
passwd ftpuser
密码:
12345678
把 /vsftpd 的所有权给ftpuser.root:
chown -R ftpuser.root /vsftpd
建立虚拟用户文件:
touch /etc/vsftpd/vuser_passwd
编辑虚拟用户名单文件:
第一行账号,第二行密码,注意:不能使用root做用户名,系统保留。
vim /etc/vsftpd/vuser_passwd
编辑内容:
ftp1
12345678
ftp2
12345678
6、生成虚拟用户数据文件
db_load -T -t hash -f /etc/vsftpd/vuser_passwd /etc/vsftpd/vuser_passwd.db
chmod 600 /etc/vsftpd/vuser_passwd.db
7、创建用户配置
mkdir /etc/vsftpd/vuser_conf # 建立虚拟用户个人vsftp的配置文件
cd /etc/vsftpd/vuser_conf # 进入目录
touch ftp1 ftp2
每个文件(ftp1和ftp2写入如下内容,local_root=/vsftpd/ftp1#这里写入这个用户的实际存储路劲):
vim ftp1
内容:
local_root=/vsftpd/ftp1
write_enable=YES
anon_world_readable_only=NO
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
vim ftp2
内容:
local_root=/vsftpd/ftp2
write_enable=YES
anon_world_readable_only=NO
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
8、创建用户目录
mkdir -p /vsftpd/ftp1
mkdir -p /vsftpd/ftp2
修改权限:
chown -R ftpuser.root /vsftpd/ftp1
chown -R ftpuser.root /vsftpd/ftp2
注:原来ftp安装完的默认目录/var/ftp可以废弃。
9、服务启动
systemctl restart vsftpd.service # 重启服务
systemctl start vsftpd.service # 启动服务
systemctl status vsftpd.service # 服务状态查看
10、生成虚拟用户的PAM文件
cd /etc/pam.d/
备份vsftpd文件:
cp -a vsftpd vsftpd.bak
修改vsftpd文件内容(加入第二和第三行,下面的都全部注释,注意下面是64位操作系统,如果是32位的话lib64需要改成lib):
vim vsftpd
内容:
#%PAM-1.0
auth required /lib64/security/pam_userdb.so db=/etc/vsftpd/vuser_passwd
account required /lib64/security/pam_userdb.so db=/etc/vsftpd/vuser_passwd
#session optional pam_keyinit.so force revoke
#auth required pam_listfile.so item=user sense=deny file=/etc/vsftpd/ftpusers onerr=succeed
#auth required pam_shells.so
#auth include password-auth
#account include password-auth
#session required pam_loginuid.so
#session include password-auth
11、客户端调试
1.首先每次更改配置需要重启vsftpd服务。
2.上面每个配置文件中的内容最好是手动键入(曾经的我直接粘贴进去,cat就是没问题,但是粘贴进去就是不行)。
3.客户端windows打开cmd到后台进行连接,网页和资源管理器里面都会有缓存也看不到报错。
4.服务器tail -f /var/log/secure查看日志(也可以tail -f /var/log/messages,这个看不出什么,前者更精准)。
查看日志:
tail -f /var/log/secure
5.客户端报错示例(坑了我好久,它说chroot没有读到/etc/vsftpd/chroot_list这个文件,所以我们新建这个文件就行,记得重启服务)。
建立文件:
touch /etc/vsftpd/chroot_list
6.如果虚拟用户登录到自己的宿主目录后,不能上传文件的话,服务器端需要在宿主目录里面再新建一个文件夹,给这文件夹777权限,就可以了(直接把宿主目录设置777就会登录不了)。
7.新增用户的话,需要在/etc/vsftpd/vsuser.passwd里面追加用户(删除就是删除用户),
记得使用db_load重新生成vsuser.passwd文件即可,vuser_confi里面新建一个新建账户的权限文件,宿主目录记得新建存储文件。
8.建议使用ftp工具和cmd验证。
测试1:
ftp 192.168.1.191
输入:
ftp1
密码
12345678
ftp 192.168.1.191
输入:
ftp2
密码
12345678
在ftp>下输入:
user
注:输入user可以重新输入用户名和密码。
测试2:
注:输入ftp1用户名,进入的是ftp1用户的目录(ftp1),输入ftp2用户名,进入的是ftp2用户的目录(ftp2)。
12、修改端口号(测试的时候没有修改成2121,而是用默认的21端口)
1.在/etc/vsftpd/vsftpd.conf文件中增加listen_port=21(这里默认是21)。
2.在vim /etc/services文件中修改如下内容。
ftp 21/tcp
ftp 21/udp fsp fspd
注意:上面修改的只是链接端口号,既然更改了连接端口号,别忘记访问的时候修改端口。
既然我们设置的是被动模式(服务器被动打开数据端口,只有在数据链接的时候才会使用,
下面我们用ftp工具能成功连接,当打开某个文件夹的时候(请求数据的时候),才会使用该端口,
但是我这里使用了iptables,之允许了2121通过我们设置的是10060到10090端口,具体如下)。
设置防火墙:
firewall-cmd --add-port=10060-10090/tcp --zone=public --permanent
firewall-cmd --add-port=21/tcp --zone=public --permanent
firewall-cmd --reload
注:正常情况下使用默认21端口即可,考虑到安全,可以修改为其它端口。
转载至:https://www.cnblogs.com/suixhxy/p/14916989.html
vsftpd安装配置的更多相关文章
- vsftpd安装配置以及常见问题解决
vsftpd安装配置以及踩坑解决办法,Centos7 nginx已经配置成功了,但是使用http始终没办法访问到图片,那么你来对地方了(在文章末尾是原因) 配置nginx教程:http://blog. ...
- vsftpd 安装配置
# vsftp 安装yum install vsftpd -y # 配置用户名密码时需要yum install db* db4* -y# 启动vsftpdservice vsftpd start # ...
- Linux vsftpd 安装配置使用
1.安装 yum install vsftpd 2.配置 允许root登陆: /etc/vsftpd/user_list文件中把root那一行删除或者注释掉 /etc/vsftpd/ftpusers文 ...
- vsftpd 安装配置详细教程
linux下ftp软件不少,大致特点:<br /> wu-ftp:比较老牌,但针对它的攻击比较多,设置比较麻烦,但功能比较强大.<br /> vsftpd:功能强大,配置也比较 ...
- Ubuntu 16.04下vsftpd 安装配置实例
从https://www.linuxidc.com/Linux/2017-06/144807.htm转载 第一步:安装VSFTPD sudo apt-get install vsftpd 安装完成后启 ...
- vsftpd安装配置虚拟用户
原文发表于cu:2016-03-11 参考文档: FTP原理:http://vbird.dic.ksu.edu.tw/linux_server/0410vsftpd_1.php FTP配置:http: ...
- CentOS6.5中的vsftpd安装配置
安装ftp 1.使用chkconfig 来查看是否装有vsftpd服务: 2.使用yum命令直接安装:yum -y install vsftpd 3.然后为它创建日志文件:touch /var/log ...
- vsftpd安装配置 530 Permission denied.错误
yum install vsftpd service vsftpd start 530 Permission denied.错误 /etc/vsftpd/user_list 该文件里的用户账户在 ...
- centOS 6.4 vsftpd 安装配置
参考 http://blog.csdn.net/wocjj/article/details/7418944 配置说明 http://www.cnblogs.com/redhatlinux/arc ...
随机推荐
- WEB 三维引擎在高精地图数据生产的探索和实践
1. 前言 高精地图(High Definition Map)作为自动驾驶安全性不可或缺的一部分,能有效强化自动驾驶的感知能力和决策能力,提升自动驾驶的等级.对于自动驾驶来说,高精地图主要是给机器用的 ...
- 信息熵,交叉熵与KL散度
一.信息熵 若一个离散随机变量 \(X\) 的可能取值为 \(X = \{ x_{1}, x_{2},...,x_{n}\}\),且对应的概率为: \[p(x_{i}) = p(X=x_{i}) \] ...
- 乘风破浪,.Net Core遇见MAUI(.NET Multi-platform App UI),进击现代化跨设备应用框架
什么是MAUI https://github.com/dotnet/maui .NET Multi-platform App UI (MAUI) 的前身是Xamarin.Forms(适用于Androi ...
- 12.QT项目中启用c++11语法支持
greater Than(QT_MAJOR_VERSION, 4): CONFIG += c++11 less Than(QT_MAJOR_VERSION, 5): QMAKE_CXXFLAGS += ...
- 运行cmd时提示你可能没有适当的权限访问该项目
Windows无法访问指定设备.路径或文件.你可能没有适当的权限访问该项目. 方法/步骤 在C:\Windows\System32目录下中找到cmd.exe文件 右键点击 "属性 ...
- sys用户权限不足,本地登录失败 |ORA-01031 insufficient privileges|
机器总喜欢挑放假的时候出问题,"双节"(中秋.国庆)快到了,对于搞系统运维的工程师来说其实并不轻松,于是今天赶紧装起一台数据库备用服务器以备半夜"机"叫. 安装 ...
- PHP7与php5
php在2015年12月03日发布了7.0正式版,带来了许多新的特性,以下是不完全列表: 性能提升:PHP7比PHP5.6性能提升了两倍. Improved performance: PHP 7 is ...
- linux学习之路第九天(任务调度)
crond 任务调度 概念 任务调度:是指的系统在某个时间执行的特定命令或程序. 比喻理解: 可以这样理解,比如生活中有闹钟,闹钟的作用是不是叫人起床的,那古时候没有闹钟,叫人起床的工作是不是要人去完 ...
- 循序渐进BootstrapVue,开发公司门户网站(6)--- 门户网站后端内容管理
我们在做门户网站的时候,如果网站的内容可以动态从后端进行管理,那么调整网站内容就非常方便,有时候如一些公司新闻.产品信息.轮播广告信息等都需要动态调整的,有一个方便的后端内容管理是非常方便的.本篇随笔 ...
- Cobbler自动部署装机 轻松解决装机烦恼
Cobbler自动部署装机一.实验准备二.搭建步骤1.导入epel源2.安装Cobbler以及其相关服务软件包3.修改Cobbler 主配置文件4.启动相关服务并关闭防火墙和selinux5.使用co ...