vsftpd配置禁用匿名用户并设置登陆用户

标签:

本文出自jvm123.com-java技术分享站:http://jvm123.com/2019/09/vsftpd-pei-zhi-jin.html

vsftpd是一个linux的ftp服务器,启动这个服务后,默认开启了匿名用户登陆,可以按照以下方式禁用匿名用户并设置登陆用户。

vsftpd禁用匿名用户

修改vasftpd服务的配置文件/etc/vsftpd.conf(或/etc/vsftpd/vsftpd.conf)

anonymous_enable=NO

重启vsftpd服务即可生效:

service vsftpd rstart 

vsftpd设置登陆用户

设置系统登陆用户可分为以下几步:

添加系统用户

useradd -s /sbin/nologin ftpadmin 

添加系统用户ftpadmin,-s /sbin/nologin表示此用户不允许系统登陆,只能用作类似于vsftpd的服务登陆。

设置用户密码

passwd ftpadmin

输入以上命令后回车,就会提示修改此用户的密码,输入两次密码即可。期间会提示密码太简单不安全等,忽略就行了。最终后出现密码成功更新。

ftp访问

可以在windows文件系统或者浏览器访问 ftp://192.168.xx.xx,验证时否可以登陆。如果关闭了匿名用户登陆功能,访问时就会弹出用户名和密码的输入框,输入后就可以访问了。

但是,此时访问的是此系统用户的主目录,即 /home/ftpadmin 目录,由于之前项目的ftp文件夹并不在这里,所以可使用以下方法设置访问。

设置ftp用户的访问目录

原项目名称为cba,其ftp文件夹为 /var/ftp/cba,现在需要让 ftpadmin 用户也能访问这个目录。

可以在 /home/ftpadmin 下新建一个文件夹 cba,将 /var/ftp/cba 挂载到这个 cba文件夹就可以访问了。

mkdir cba
mount --bind /var/ftp/cba cba

之前我也尝试过使用软链接的方式,但是ftp访问到的只是一个类似快捷方式图标的文件,并不能跳转到目标。

另外看过一些技术文章介绍的 ,大都是配置 local_root ,但是我这里,对于系统用户,配置 local_root=/var/ftp后,并不会生效,还不知道是什么原因,所以目前就先使用mount挂载的方式。

发表评论