学会使用linux中的vsftpd服务
发表于:2024-11-27 作者:千家信息网编辑
千家信息网最后更新 2024年11月27日,内容要点:一、vsftpd概述二、ftp、sftp、vsftp、vsftpd这四个的区别三、匿名用户登陆ftp四、利用本地用户登录ftp五、建立虚拟用户账户使用ftp一、vsftpd概述vsftpd
千家信息网最后更新 2024年11月27日学会使用linux中的vsftpd服务
内容要点:
一、vsftpd概述
二、ftp、sftp、vsftp、vsftpd这四个的区别
三、匿名用户登陆ftp
四、利用本地用户登录ftp
五、建立虚拟用户账户使用ftp
一、vsftpd概述
vsftpd 是"very secure FTP daemon"的缩写,安全性是它的一个最大的特点。vsftpd 是一个 UNIX 类操作系统上运行的服务器的名字,它可以运行在诸如 Linux、BSD、Solaris、 HP-UNIX等系统上面,是一个完全免费的、开放源代码的ftp服务器软件,支持很多其他的 FTP 服务器所不支持的特征。
1、特点
非常高的安全性需求、带宽限制、良好的可伸缩性、可创建虚拟用户、支持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(文件在/var/ftp)
1,安装vsftpd服务
[root@localhost ~]# yum install vsftpd -y ##安装服务[root@localhost ~]# cd /etc/vsftpd/ ##此目录是配置文件目录[root@localhost vsftpd]# lsftpusers user_list vsftpd.conf vsftpd_conf_migrate.sh[root@localhost vsftpd]# systemctl start vsftpd ##开启vsftpd服务[root@localhost vsftpd]# systemctl stop firewalld.service ##关闭防火墙[root@localhost vsftpd]# setenforce 0 ##关闭增强功能[root@localhost vsftpd]# ls /var/ftp/ ##切换到ftp目录下pub[root@localhost vsftpd]# echo "this is test" > /var/ftp/test.txt ##添加一个文本文件
2,用测试机cmd访问vsftpd服务(cmd连接ftp)并下载文件
C:\Users\xy007>ftp 192.168.13.140 ##访问ftp服务连接到 192.168.13.140。220 (vsFTPd 3.0.2)200 Always in UTF8 mode.用户(192.168.13.140:(none)): ftp ##匿名访问331 Please specify the password.密码: ##密码无 回车230 Login successful.ftp> pwd ##查看当前路径257 "/" ##ftp服务的根目录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 ##下载文件到本地(在哪个磁盘的访问就下载到哪里,可以切换磁盘来下载e:)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 ##在c盘中创建一个test1.txt然后上传到Linux中200 PORT command successful. Consider using PASV.550 Permission denied. ##此时是权限受限的
3,修改vsftpd配置文件将匿名访问开启最大权限
[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权限最大
4,用测试机cmd访问ftp并上传本地文件到Linux上
C:\Users\xy007>ftp 192.168.13.140 ##访问ftp服务连接到 192.168.13.140。220 (vsFTPd 3.0.2)200 Always in UTF8 mode.用户(192.168.13.140:(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删除文件
5,查看上传的文件
[root@localhost ftp]# cd /var/ftp/pub ##切换到pub目录下[root@localhost pub]# ls ##查看上传的文件test1.txt
四,利用本地用户登录ftp(文件在家目录)
防止本地用户访问系统目录,限制仅访问用户家目录
1,创建系统用户
[root@localhost pub]# useradd zhangsan ##创建用户并设置用户密码[root@localhost pub]# passwd zhangsan[root@localhost pub]# useradd lisi ##创建用户并设置用户密码[root@localhost pub]# passwd lisi
2,测试机上cmd使用用户登录ftp
C:\Users\xy007>ftp 192.168.13.140 ##登录ftp服务连接到 192.168.13.140。220 (vsFTPd 3.0.2)200 Always in UTF8 mode.用户(192.168.13.140:(none)): zhangsan ##使用本地用户331 Please specify the password.密码:230 Login successful.ftp> ls / ##查看用户/下的目录文件,直接到系统根目录下200 PORT command successful. Consider using PASV.150 Here comes the directory listing./bin/boot/dev/etc/home/lib/lib64/media/mnt/opt/proc/root/run/sbin/srv/sys/tmp/usr/var226 Directory send OK.ftp: 收到 126 字节,用时 0.02秒 7.88千字节/秒。
3,防止本地用户访问系统目录,限制仅访问用户家目录
[root@localhost pub]# vim /etc/vsftpd/vsftpd.conf ##修改配置文件chroot_local_user=YES ##开启限制本地访问系统目录模块allow_writeable_chroot=YES ##添加写的权限[root@localhost pub]# systemctl restart vsftpd ##重启服务
4,测试机cmd访问
C:\Users\xy007>ftp 192.168.13.140 ##访问ftp连接到 192.168.13.140。220 (vsFTPd 3.0.2)200 Always in UTF8 mode.用户(192.168.13.140:(none)): zhangsan ##用户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
1,设置user-list(默认拒绝),允许或者拒绝特定用户登录ftp
[root@localhost pub]# cd /etc/vsftpd/ ##切换到vsftpd配置文件目录[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用户添加到列表中[root@localhost vsftpd]# systemctl restart vsftpd ##重启服务
2,用测试机cmd测试
C:\Users\xy007>ftp 192.168.13.140连接到 192.168.13.140。220 (vsFTPd 3.0.2)200 Always in UTF8 mode.用户(192.168.13.140:(none)): zhangsan ##使用zhangsan登录530 Permission denied.登录失败。 ##直接拒绝登录ftp>
3,设置列表为仅允许
[root@localhost ftp]# cd /etc/vsftpd/[root@localhost vsftpd]# vim vsftpd.conf ##配置vsftpd配置文件userlist_enable=YESuserlist_deny=NO ##添加列表允许[root@localhost vsftpd]# systemctl restart vsftpd ##重启服务
4,测试机cmd测试
C:\Users\xy007>ftp 192.168.13.140连接到 192.168.13.140。220 (vsFTPd 3.0.2)200 Always in UTF8 mode.用户(192.168.13.140:(none)): zhangsan ##用zhangsan去登录331 Please specify the password.密码:230 Login successful. ##登录成功ftp> by221 Goodbye.C:\Users\xy007>ftp 192.168.13.140连接到 192.168.13.140。220 (vsFTPd 3.0.2)200 Always in UTF8 mode.用户(192.168.13.140:(none)): lisi ##用lisi去登录530 Permission denied.登录失败。 ##登录失败
五,建立虚拟用户账户使用ftp(文件在系统用户vuser家目录)
1,创建虚拟用户文件
[root@localhost vsftpd]# cd /etc/vsftpd/ ##切换到配置文件目录下[root@localhost vsftpd]# vim vuser ##创建虚拟用户文件lisa ##奇数行为用户名123123 ##偶数行为密码tom123123
2,转换数据库文件,设置安全权限
[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
3,编辑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 ##连接的密码服务
4,开启虚拟用户,使用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 ##重启服务
5,测试机cmd测试
C:\Users\xy007>ftp 192.168.13.140连接到 192.168.13.140。220 (vsFTPd 3.0.2)200 Always in UTF8 mode.用户(192.168.13.140:(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
6,单独用户配置,指定上传文件的权限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 ##重启服务
7,测试机cmd使用lisa用户登录,查看上传文件权限
C:\Users\xy007>ftp 192.168.13.140连接到 192.168.13.140。220 (vsFTPd 3.0.2)200 Always in UTF8 mode.用户(192.168.13.140:(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安全错误
数据库的锁怎样保障安全
常德网络安全知识竞答
哈尔滨android软件开发
网络安全技术的应用范围
zabbix数据库的数据量监控
网络安全防护的目标是
同城游无法连接服务器
后台数据库登录密码
备份数据库需要多大容量
sk电讯软件开发
魔兽服务器登陆困难
河北网络技术信息成本价
服务器热插拔硬盘报警怎么消除
互联网维护软件开发
互联网科技时间
科技金融互联网征信体系构建
山东济南市正规浪潮服务器店面
数据库软件密钥
百度全站服务器排查
浪潮服务器配置硬盘直通模式
艾尔登法环日站数据库
网络安全好学嘛
sql 数据库 版本升级
网络技术 交易
数据库失效
戴耐德语言软件开发公司地址
spss数据库四分位数
重庆若可网络安全有限公司
oppo超凡先锋无法选择服务器
网络安全密钥怎么键入
网络安全教育主题活动PPT