Linux安装vsftpd及配置详解(4)

此用户就是用来登录ftp服务器用的。
[root@linuxidc ~]# useradd ftpuser -s /sbin/nologin
这样一个用户建完,不可以用这个登录,记得用普通登录不要用匿名了。登录后默认的路径为 /home/ftpuser.

3.4.2 给ftp用户添加密码

[root@linuxidc ~]# passwd ftpuser
输入两次密码后修改密码。

3.4.3 关闭匿名访问,设置相应权限

修改/etc/vsftpd/vsftpd.conf文件:

anonymous_enable=no local_enable=YES local_root=/home/ftpuser write_enable=YES local_umask=022 file_open_mode=0755 chroot_local_user=YES 3.4.4 重启ftp服务:

[root@linuxidc ~]# service vsftpd restart

3.4.5 访问

在windows资源管理器中连接ftp://ip
本地用户登录(家目录/home/ftpuser),可以创建或删除目录、文件,目录权限是755,文件权限是644

Linux安装vsftpd及配置详解

修改路径为/opt/test下(local_root=/opt/test),为了安全,在/opt/test目录下建tt目录,并给tt目录属主和属组修改为ftpuser,这样才可以创建或删除目录,上传、删除文件

3.5虚拟用户登录 pam_service_name=vsftpd #虚拟用户使用PAM认证方式。 guest_enable= YES/NO(NO) #设置PAM使用的名称,默认值为/etc/pam.d/vsftpd。 guest_username=ftp #启用虚拟用户。默认值为NO。 virtual_use_local_privs=YES/NO(NO) #这里用来映射虚拟用户。默认值为ftp。 #当该参数激活(YES)时,虚拟用户使用与本地用户相同的权限。当此参数关闭(NO)时,虚拟用户使用与匿名用户相同的权限。默认情况下此参数 是关闭的(NO)。 3.5.1 创建文本格式的用户名、密码列表

首先需要建立一个文本格式的用户名/密码列表文件,奇数行为用户名,偶数行为上一行中用户名所对应的密码。

例如:添加两个用户jene、john,密码分别为abc123、abc456执行以下的操作:

[root@ling ~]# vi /etc/vsftpd/juser.txt jene abc123 john abc456 3.5.2 生成数据库:

db_load:安装 db4,db4-devel,db4-utils

# cd //etc/vsftpd #切换到/etc/vsftpd的目录下 # yum -y install db4* # db_load -T -t hash -f juser.txt juser.db #将刚创建的juser.list列表转换为juser.list.db file juser.db #查看转换后的文件类型 3.5.3 修改数据文件访问权限:

chmod 600 /etc/vsftpd/juser.db

3.5.4修改pam配置: # vi /etc/pam.d/juser.pam //为虚拟用户创建PAM认证文件,文件名为juser.pam(见名之义) auth required pam_userdb.so db=/etc/vsftpd/juser account required pam_userdb.so db=/etc/vsftpd/juser 注意:db=/etc/vsftpd/vsftpd_login 后面的.db必须去掉 或 # vi /etc/pam.d/vsftpd 将里面其他的都注释掉,添加下面这两行: auth required pam_userdb.so db=/etc/vsftpd/vuser account required pam_userdb.so db=/etc/vsftpd/vuser 3.5.5 创建虚拟账号对应的系统用户: # useradd -d /var/ftptom -s /sbin/nologin tom #添加用户tom,指定到新建的家目录,将虚拟用户对应到这个系统账号上,这个 账号无需设置密码及登录Shell # chmod 755 /var/ftptom/ #调整权限以允许浏览目录 3.5.6 修改主配置文件 # vi /etc/vsftpd/vsftpd.conf anonymous_enable=no //禁用匿名用户登录 (anon_upload_enable=YES anon_mkdir_write_enable=YES anon_umask=022 //指定上传权限掩码) local_enable=YES //需映射本地用户,所以启用些项 write_enable=YES //启用上传写入支持 chroot_local_user=YES //(自建配置)将所有本地用户限制在家目录中 guest_enable=YES //启用映射功能 guest_username=tom //指定映射的系统用户名称 pam_service_name=juser.pam //指定新的PAM认证文件 user_config_dir=/opt/vsftpd/juser_dir //(自建配置)设置虚拟帐号的主目录为/juser_dir max_clients=300 //(自建配置)设置FTP服务器最大接入客户端数为300个 max_per_ip=10 //(自建配置)设置每个IP地址最大连接数为10个 listen=YES port_enable=NO //(自建配置)取消PORT模式进行数据传输 connect_from_port_20=NO //(修改配置)PORT模式进行数据传输部使用20端口 ftp_data_port=20 pasv_enable=YES //(自建配置)允许PASV模式进行数据传输 pasv_min_port=65341 //(自建配置)PASV模式下数据传输所使用port范围下界 pasv_max_port=65351 //(自建配置)PASV模式下数据传输所使用port范围上界 3.5.7 建立虚拟账户的配置文件:

如上面的在没有给予虚拟用户上传、建目录等权限的设置,可以用下面的方法给虚拟用户建立独立的配置文件。

在user_config_dir指定路径下,建立与虚拟帐号同名的配置文件并添加相应的配置字段

# mkdir /opt/vsftpd/juser_dir cd /opt/vsftpd/juser_dir //切换到这个新建的配置文件夹下 touch jene 创建jene配置文件 touch john 创建john配置文件 #vi jene //为用户jene建立独立的配置文件,允许他可以上传和创建目录 anon_upload_enable=YES anon_mkdir_write_enable=YES #touch john //为其它用户(john)创建空的配置文件,也就是他们没有上传和创建目录的权限 [root@ling juser_dir]# service vsftpd reload //重载vsftpd服务器

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/8e8bec3cbf00a6f3482646cbb39c8e6f.html