vsftpd服务详解(匿名用户访问,本地用户访问,指定用户访问控制,虚拟用户)
发表于:2024-09-22 作者:千家信息网编辑
千家信息网最后更新 2024年09月22日,vsftpd详解vsftpd 是"very secure FTP daemon"的缩写,安全性是它的一个最大的特点。vsftpd 是一个 UNIX 类操作系统上运行的服务器的名字,它可以运行在诸如 L
千家信息网最后更新 2024年09月22日vsftpd服务详解(匿名用户访问,本地用户访问,指定用户访问控制,虚拟用户)
vsftpd详解
vsftpd 是"very secure FTP daemon"的缩写,安全性是它的一个最大的特点。vsftpd 是一个 UNIX 类操作系统上运行的服务器的名字,它可以运行在诸如 Linux、BSD、Solaris、 HP-UNIX等系统上面,是一个完全免费的、开放源代码的ftp服务器软件,支持很多其他的 FTP 服务器所不支持的特征。
特点
非常高的安全性需求、带宽限制、良好的可伸缩性、可创建虚拟用户、支持IPv6、速率高
小巧轻快,安全易用。
ftp、sftp、vsftp、vsftpd详解
ftp 是File Transfer Protocol的缩写,文件传输协议,用于在网络上进行文件传输的一套标准协议,使用客户/服务器模式。它属于网络传输协议的应用层。
sftp 是SSH File Transfer Protocol的缩写,安全文件传输协议;
vsftp 是一个基于GPL发布的类Unix系统上使用的ftp服务器软件,它的全称是Very Secure FTP从此名称可以看出来,编制者的初衷是代码的安全;
vsftpd 是very secure FTP daemon的缩写,安全性是它的一个最大的特点。vsftpd 是一个 UNIX 类操作系统上运行的服务器的名字,它可以运行在诸如 Linux、BSD、Solaris、 HP-UNIX等系统上面,是一个完全免费的、开放源代码的ftp服务器软件;
匿名用户登录FTP
[root@localhost ~]# yum install vsftpd -y ##安装vsftp服务[root@localhost ~]# cd /etc/vsftpd/[root@localhost vsftpd]# lsftpusers user_list vsftpd.conf vsftpd_conf_migrate.sh[root@localhost vsftpd]# systemctl start vsftpd ##开启服务[root@localhost vsftpd]# systemctl stop firewalld.service s[root@localhost vsftpd]# setenforce 0[root@localhost vsftpd]# echo "this is text" > /var/ftp/test.txt ##写一段内容到测试文件中
客户机去测试访问
C:\Users\CHEN>ftp 192.168.136.178 ##访问ftp服务连接到 192.168.136.178。220 (vsFTPd 3.0.2)200 Always in UTF8 mode.用户(192.168.136.178:(none)): ftp ##匿名访问331 Please specify the password.密码: ##密码没有,直接回车230 Login successful.ftp> pwd ##查看当前的绝对路径257 "/"ftp> ls -a ##查看目录中的内容200 PORT command successful. Consider using PASV.150 Here comes the directory listing....pubtest.txt ##服务器中的文件226 Directory send OK.ftp: 收到 25 字节,用时 0.00秒 25000.00千字节/秒。ftp> get test.txt ##下载文件到本地客户机,在哪个磁盘访问的就会下载到哪里,可以切换磁盘来下载200 PORT command successful. Consider using PASV.150 Opening BINARY mode data connection for test.txt (13 bytes).226 Transfer complete.ftp: 收到 13 字节,用时 0.00秒 13000.00千字节/秒。
客户机查看有没有收到文件
ftp> put test1.txt ##创建一个文件上传到服务器中200 PORT command successful. Consider using PASV.550 Permission denied. ##权限受限
回到服务器开启匿名访问最大的权限
[root@localhost ftp]# cd /etc/vsftpd/[root@localhost vsftpd]# vim vsftpd.conf##在配置文件中查找开启下列选项anonymous_enable=YES ##开启匿名用户local_enable=YES ##本地用户write_enable=YES ##写入权限local_umask=022 ##本地用户反掩码anon_upload_enable=YES ##上传权限开启anon_mkdir_write_enable=YES ##开启创建目录并且能够写入anon_other_write_enable=YES ##添加一个other的重命名和删除的权限[root@localhost vsftpd]# systemctl restart vsftpd ##重启服务[root@localhost vsftpd]# cd /var/ftp/ ##切换到ftp目录下[root@localhost ftp]# lspub test.txt[root@localhost ftp]# ls -l总用量 4drwxr-xr-x. 2 root root 6 10月 31 2018 pub-rw-r--r--. 1 root root 13 11月 5 19:14 test.txt[root@localhost ftp]# chmod 777 pub ##将pub目录权限给最大,注意不能直接给ftp权限最大
再用客户机去访问ftp,上传本地文件到服务器
C:\Users\CHEN>ftp 192.168.136.178 ##访问ftp服务连接到 192.168.136.178。220 (vsFTPd 3.0.2)200 Always in UTF8 mode.用户(192.168.136.178:(none)): ftp331 Please specify the password.密码:230 Login successful.ftp> cd pub/ ##切换到pub目录下250 Directory successfully changed.ftp> put test1.txt ##上传文件200 PORT command successful. Consider using PASV.150 Ok to send data.226 Transfer complete.ftp: 发送 13 字节,用时 0.03秒 0.41千字节/秒。ftp> by ##退出221 Goodbye.##可以使用delete删除文件
本地用户登录ftp文件默认在家目录
root@localhost ~]# useradd zhangsan[root@localhost ~]# passwd zhangsan更改用户 zhangsan 的密码 。新的 密码:无效的密码: 密码少于 8 个字符重新输入新的 密码:passwd:所有的身份验证令牌已经成功更新。[root@localhost ~]# useradd lisi[root@localhost ~]# passwd lisi更改用户 lisi 的密码 。新的 密码:无效的密码: 密码少于 8 个字符重新输入新的 密码:passwd:所有的身份验证令牌已经成功更新。
防止本地用户访问系统目录,限制只访问用户家目录
[root@localhost ~]# vim /etc/vsftpd/vsftpd.conf 101 chroot_local_user=YES ##第101行开启本地访问系统目录102 chroot_list_enable=YES ##102行添加写的权限[root@localhost ~]# systemctl restart vsftpd
去客户机去测试访问
C:\Users\CHEN>ftp 192.168.136.178连接到 192.168.136.178。220 (vsFTPd 3.0.2)200 Always in UTF8 mode.用户(192.168.136.178:(none)): zhangsan331 Please specify the password.密码:230 Login successful.ftp> cd / ##切换到系统根目录250 Directory successfully changed.ftp> ls ##查看发现还是在用户的家目录中,访问不到系统的其他目录了,增强了安全性200 PORT command successful. Consider using PASV.150 Here comes the directory listing.226 Directory send OK.
设置允许,拒绝指定用户访问ftp
[root@localhost ~]# cd /etc/vsftpd/[root@localhost vsftpd]# lsftpusers user_list vsftpd.conf vsftpd_conf_migrate.sh[root@localhost vsftpd]# vim vsftpd.confuserlist_enable=YES ##确认user-list开启[root@localhost vsftpd]# lsftpusers user_list vsftpd.conf vsftpd_conf_migrate.sh[root@localhost vsftpd]# echo "zhangsan" >> user-list ##将zhangsan用户添加到列表中,user-list(默认拒绝),允许或者拒绝特定用户登录[root@localhost vsftpd]# systemctl restart vsftpd ##重启服务
用客户机测试访问ftp
C:\Users\CHEN>ftp 192.168.136.178连接到 192.168.136.178。220 (vsFTPd 3.0.2)200 Always in UTF8 mode.用户(192.168.136.178:(none)): zhangsan530 Permission denied.登录失败。 ##拒绝登录
设置列表为仅允许
[root@localhost ftp]# cd /etc/vsftpd/[root@localhost vsftpd]# vim vsftpd.conf ##配置vsftpd配置文件userlist_enable=YESuserlist_deny=NO ##添加列表允许[root@localhost vsftpd]# systemctl restart vsftpd ##重启服务
客户机去测试访问
C:\Users\CHEN>ftp 192.168.136.178连接到 192.168.136.178。220 (vsFTPd 3.0.2)200 Always in UTF8 mode.用户(192.168.136.178:(none)): zhangsan ##用zhangsan去登录331 Please specify the password.密码:230 Login successful. ##登录成功ftp> by221 Goodbye.C:\Users\CHEN>ftp 192.168.136.178连接到 192.168.136.178。220 (vsFTPd 3.0.2)200 Always in UTF8 mode.用户(192.168.13.140:(none)): lisi ##用lisi去登录530 Permission denied.登录失败。 ##登录失败
建立虚拟用户登录使用ftp
文件在系统用户vuser家目录
创建虚拟用户文件
[root@localhost ~]# cd /etc/vsftpd/[root@localhost vsftpd]# vim vuserchen ##奇数行为用户名123123 ##偶数行为密码cheng123123转换成数据库文件,设置权限[root@localhost vsftpd]# db_load -T -t hash -f vuser vuser.db ##将vuser转换成数据库文件,T转换,t类型,f指定文件[root@localhost vsftpd]# chmod 600 vuser ##设置权限[root@localhost vsftpd]# chmod 600 vuser.db 编辑pam认证模块支持虚拟用户登录root@localhost vsftpd]# useradd -d /opt/vuser -s /sbin/nologin vuser
创建系统用户,指定家目录,不能登录
[root@localhost vsftpd]# vim /etc/pam.d/vsftpd.vu ##编译pam认证模块auth required pam_userdb.so db=/etc/vsftpd/vuser ##识别转换过的数据库文件account required pam_userdb.so db=/etc/vsftpd/vuser ##连接的密码服务##开启虚拟用户,使用pam模块认证登录[root@localhost vsftpd]# vim vsftpd.conf ##修改配置文件##大G到末行#pam_service_name=vsftpd ##注释##添加下面三行内容guest_enable=YES ##开启来宾用户访问guest_username=vuser ##使用vuser用户名pam_service_name=vsftpd.vu ##pam模块[root@localhost vsftpd]# systemctl restart vsftpd ##重启服务
客户机去测试
C:\Users\xy007>ftp 192.168.136.178连接到 192.168.136.178220 (vsFTPd 3.0.2)200 Always in UTF8 mode.用户(192.168.136.178:(none)): tom ##使用虚拟用户tom登录331 Please specify the password.密码:230 Login successful.ftp> put test1.txt ##上传一个文件200 PORT command successful. Consider using PASV.150 Ok to send data.226 Transfer complete.ftp: 发送 13 字节,用时 0.00秒 13000.00千字节/秒。##查看文件的权限为600[root@localhost vsftpd]# ls -l /opt/vuser/总用量 4-rw-------. 1 vuser vuser 13 11月 5 22:51 test1.txt
单独用户配置,指定上传文件的权限644
[root@localhost vsftpd]# vim vsftpd.conf ##大G末行添加user_config_dir=/etc/vsftpd/vu_dir ##单独用户配置文件夹[root@localhost vsftpd]# mkdir vu_dir ##创建文件夹[root@localhost vsftpd]# cd vu_dir/[root@localhost vu_dir]# vim lisa ##在配置文件夹里创建用户配置文件anon_umask=022 ##指定上传文件的权限[root@localhost vu_dir]# systemctl restart vsftpd ##重启服务
客户机去测试使用lisa用户登录,查看上传文件权限
C:\Users\xy007>ftp 192.168.136.178连接到 192.168.136.178220 (vsFTPd 3.0.2)200 Always in UTF8 mode.用户(192.168.136.178:(none)): lisa ##使用lisa登录331 Please specify the password.密码:230 Login successful.ftp> put 111.txt ##上传文件200 PORT command successful. Consider using PASV.150 Ok to send data.226 Transfer complete.ftp: 发送 13 字节,用时 0.00秒 13000.00千字节/秒。[root@localhost vu_dir]# ls -l /opt/vuser/ ##查看上传文件的权限总用量 8-rw-r--r--. 1 vuser vuser 13 11月 5 22:58 111.txt ##lisa上传文件权限644-rw-------. 1 vuser vuser 13 11月 5 22:51 test1.txt ##tom上传文件权限600
用户
文件
服务
密码
权限
登录
目录
服务器
系统
字节
客户
客户机
配置
安全
测试
最大
安全性
模块
缩写
传输
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
全境网络技术有限公司
深圳嵌入式软件开发招聘网
软件开发w亿玛酷1流量订制
网络安全员招聘要求
vb简单的数据库
云服务器的5兆是什么意思
mongod删除数据库
网络安全风险评估的痛点
全加固服务器技术含量
无法接通服务器
饥荒联机版服务器mod怎么启动
pdrr网络安全模型包括
西安市网络安全保卫支队电话
国贸店客户服务器
炒币软件开发企业
武冈计算机网络技术怎么样
几种常用的应用服务器教案
服务器的攻击方式
在数据库中添加一个文件
智慧系统软件开发
数据建模和软件开发哪个难
小布什美国网络安全
数据库转成时间类型吗
精锐达网络技术有限公司
江苏会言互联网科技
数据库的优点作用
鸠鸠互联网科技董事长
统计局网络安全管理
软件开发瀑布型模型定义阶段
济南 软件开发十年 工资