600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > FTP 虚拟用户登录

FTP 虚拟用户登录

时间:2022-10-14 17:28:40

相关推荐

FTP 虚拟用户登录

一、概述

VSFTP是一个基于GPL发布的类Unix系统上使用的FTP服务器软件,它的全称是Very Secure FTP,FTP三种认证模式:匿名用户、本地用户、虚拟用户,在建立vsftpd用户时,我们一般是在linux下建立普通用户useradd的方式来访问ftp,但有时我们只想提供ftp服务,而避免用户用ftp的帐号去登录linux,采用一般的方式只能是限制该用户的访问权限,但还是避免不了用户登录进linux系统,所以比较好的方法是用vsftpd的虚拟用户(virtual users)。 每个虚拟用户也可以被赋予不同的访问权限,通过用户的权限控制参数进行指定。

二、安装vsftpd服务,创建用户数据库文件

yum -y install vsftpdcd /etc/vsftpd/vim vuser.txt

privatepersonalpublic123456

虚拟用户帐号的存储方式:创建专门一个文件存放用户密码,但是该文件需要用hash格式。所以需要用下面的这条命令:db_load -T -t hash -f vuser.txt vuser.dbchmod 600 vusers.db 为了安全,可删除vuser.txt并修改.db文件的权限

三、创建系统普通用户(禁止登录),和FTP访问根目录

创建用户,指定家目录 useradd -d /var/ftp/ftproot -s /sbin/nologin vuserchown -R vuser.vuser /var/ftp/ftproot

四,创建PAM模块配置文件

mv /etc/pam.d/vsftpd /etc/pam.d/vsftpd.bakvimdiff /usr/share/doc/vsftpd-2.2.2/EXAMPLE/VIRTUAL_USERS/vsftpd.pam /etc/pam.d/vsftpd vi /etc/pam.d/vsftpd, 内容如下: auth required /lib64/security/pam_userdb.so db=/etc/vsftpd/vuser//和用户数据库文件名称一致,不需要.db后缀account required /lib64/security/pam_userdb.so db=/etc/vsftpd/vuser

五、配置Vsftp的配置文件vsftpd.conf

anonymous_enable=NOlocal_enable=YESwrite_enable=NOlocal_umask=022anon_upload_enable=NOanon_mkdir_write_enable=NOdirmessage_enable=YESxferlog_enable=YESxferlog_file=/var/log/xferlogconnect_from_port_20=YESchown_uploads=NOxferlog_std_format=YESasync_abor_enable=YESftpd_banner=Welcome to blah FTP service.chroot_local_user=YESchroot_list_enable=YESallow_writeable_chroot=YESchroot_list_file=/etc/vsftpd/chroot_listlisten=YESlisten_ipv6=NOpam_service_name=vsftpduserlist_enable=YEStcp_wrappers=YESguest_enable=YESguest_username=vuseruser_config_dir=/etc/vsftpd/vsftpd_user_confvirtual_use_local_privs=YES

anonymous_enable=NO// 不允许匿名访问local_enable=YES// 允许本地用户登录FTP服务器write_enable=NO// 本地用户可以读写local_umask=022// 默认掩码为022,默认创建的文件权限为755anon_upload_enable=NO// 允许匿名用户上传文件,基于安全因素考虑,默认vsftpd是注释此项anon_mkdir_write_enable=NO// 是否允许匿名用户创建目录,基于安全因素考虑,默认vsftpd是注释此项dirmessage_enable=YES// 如果目录存在.message隐藏文件时,当进入此目录时,会显示.message里面的内容xferlog_enable=YES// 默认记录上传、下载的日志文件,是否开启此功能xferlog_file=/var/log/xferlog// vsftpd的日志存放位置connect_from_port_20=YES// 从端口20连接,默认状态下,20端口为数据传输端口#chown_uploads=NO#chown_username=whoever// 此两选项必须同时出现,含义为,允许新上传文件的拥有者为whoever,默认这两行被注释到得。xferlog_std_format=YES// 使用标准格式上传/下载#data_connection_timeout=120// 传输延时时间,当时间超过120秒后,会自动断开,默认是注释掉。#nopriv_user=ftpsecure// 使用特殊用户ftpsecure,这里可以把ftpsecure账户作为一般访问用户,所有连接FTP服务器的用户都具有ftpsecure用户名,基于安全因素考虑,可以在/etc/passwd中将ftpsecure的用户shell设置为/sbin/nologin(禁止登陆操作系统)async_abor_enable=YES// 取消下载后客户端不挂起,一般不需要设置。#ascii_upload_enable=YES#ascii_download_enable=YES// 是否启用ASCII方式传送文件,一般我们不需要这个格式ftpd_banner=Welcome to blah FTP service.// 登陆FTP服务器,所提示的信息,默认注释掉#deny_email_enable=YES#banned_email_file=/etc/vsftpd/banned_emails// 若是启用以上两个选项,则可以在/etc/vsftpd/banned_emails中建立黑名单chroot_local_user=YESchroot_list_enable=YESchroot_list_file=/etc/vsftpd/chroot_list// 当登陆FTP服务器时,被列在chroot_list文件中的用户,不可以访问FTP根目录以外的目录。allow_writeable_chroot=YES #ls_recurse_enable=YES// 是否可以使用ls -R 命令,默认是注释掉listen=YES// 当此项为YES时,vsftpd运行于stand-alone模式下listen_ipv6=NO// 监听IPv6pam_service_name=vsftpd// pam认证文件名userlist_enable=YES//当此项设置为YES时,启用配置文件/etc/vsftpd.user_list.此时有两种情况:1.若没有userlist_deny=NO,则/etc/vsftpd/user_list中的用户不可以访问FTP服务器 2.若有userlist_deny=NO,则仅接受/etc/vsftpd.user_list中的用户登陆请求,同时此用户也不可以存在/etc/vsftpd/ftpusers文件中。tcp_wrappers=YES// 支持TCP Wrappers 补充:(未出现在vsftpd.conf配置文件中的常用参数) guest_enable=YES//设定启用虚拟用户功能guest_username=vuser//指定虚拟用户的宿主用户,CentOS中已经有内置的ftp用户了,通过映射到手动创建的普通用户vuseruser_config_dir=/etc/vsftpd/vsftpd_user_conf//设定虚拟用户个人vsftpd服务文件存放路径。存放虚拟用户个性的FTP服务文件(配置文件名=虚拟用户名)virtual_use_local_privs=YES// 虚拟用户和本地用户有相同的权限

六、在指定目录/etc/vsftpd/vsftpd_user_conf下配置子账号FTP权限

cat private// 虚拟用户具有写权限(上传、下载、删除、重命名) local_root=/var/ftp/ftproot/write_enable=YESanon_umask=022anon_world_readable_only=YESanon_upload_enable=YESanon_mkdir_write_enable=YESanon_other_write_enable=YES cat public local_root=/var/ftp/ftproot/write_enable=NOanon_umask=022anon_world_readable_only=NOanon_upload_enable=YESanon_mkdir_write_enable=NOanon_other_write_enable=NO

七、重启服务进行登录确认

systemctl restart vsftpd.service

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。