首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > VSTS >

Linux vsftp安装配置跟虚拟用户设置

2013-11-23 
Linuxvsftp安装配置和虚拟用户设置rpm -q vsftpd?package vsftpd is not installed #说明系统没有安装vsft

Linux vsftp安装配置和虚拟用户设置
rpm -q vsftpd

?package vsftpd is not installed #说明系统没有安装vsftpd

?

2、安装vsftpd

yum -y  install vsftpd   #系统自动安装

?

基本命令,配置完成后,进行操作

/etc/init.d/vsftpd start #启动vsftpdservice vsftpd restart #重启service vsftpd stop #停止chkconfig vsftpd on #设置开机时自动运行

?

3、安装目录

???默认目录为/etc/vsftpd/

二、配置

1、vsftp服务器配置文件说明:

/etc/vsftpd/vsftpd.conf?? vsftpd的核心配置文件,安装后需修改

/etc/vsftpd/ftpusers 用于指定哪些用户不能访问FTP服务器,保持默认

/etc/vsftpd/user_list 指定允许使用vsftpd的用户列表文件,保持默认

/etc/vsftpd/vsftpd_conf_migrate.sh 是vsftpd操作的一些变量和设置脚本

2、新建vsftp虚拟用户账号密码:

touch /etc/vsftpd/virtusers#编辑虚拟用户名单文件:(第一行账号,第二行密码,注意:不能使用root做用户名,系统保留)vi /etc/vsftpd/virtusersweb1123456web2123456

?

3、生成虚拟用户数据文件:

?

db_load -T -t hash -f /etc/vsftpd/virtusers /etc/vsftpd/virtusers.dbchmod 600 /etc/vsftpd/virtusers.db #设定PAM验证文件,并指定对虚拟用户数据库文件进行读取 

?db_load是将用户名密码加密, 系统最终使用的是virtuses.db文件?,virtusers 不被使用,可删除

4、新建/etc/pam.d/vsftp文件:?

vi /etc/pam.d/vsftpauth sufficient /lib/security/pam_userdb.so db=/etc/vsftpd/virtusersaccount sufficient /lib/security/pam_userdb.so db=/etc/vsftpd/virtusers

?文件中,db的值是和第3步中的db文件名一致

注意:如果系统为64为,则上面的lib改为lib64,否则配置失败

?

5、新建一个系统用户vsftpuser(名字随意,和第7步配置文件中保持一致):?

useradd -g ftp -s /sbin/nologin vsftpuser

?

6、建立虚拟用户个人Vsftp的配置文件,可给用户配置不同权限:?

mkdir /etc/vsftpd/user_conf #user_conf名字自己定义,和vsftpd.conf中一致即可cd /etc/vsftpd/user_conftouch web1 web2 #这里创建虚拟用户配置文件, 文件名为用户名vi web1 #编辑用户web1配置文件,其他的跟这个配置文件类似local_root=/ftp/web1  #web1用户登录的根目录write_enable=YESanon_world_readable_only=NOanon_upload_enable=YESanon_mkdir_write_enable=YESanon_other_write_enable=YES

?

7、新建chroot_list文件,设置允许访问的虚拟用户:

?

touch /etc/vsftpd/chroot_list #允许访问的用户名列表vi /etc/sftpd/chroot_listweb1 

?上面配置据是只允许web1用户登录

?

8、修改vsftp服务器配置:

vsftpd.conf内容,将默认配置文件进行修改.

# Example config file /etc/vsftpd/vsftpd.conf# Allow anonymous FTP? (Beware - allowed by default if you comment this out).anonymous_enable=no## Uncomment this to allow local users to log in.local_enable=yes## Uncomment this to enable any form of FTP write command.write_enable=YESlocal_umask=022anon_upload_enable=YESanon_mkdir_write_enable=YESdirmessage_enable=YESxferlog_enable=YESconnect_from_port_20=YESxferlog_std_format=YES# ASCII mangling is a horrible feature of the protocol.ascii_upload_enable=YESascii_download_enable=YES#chroot_local_user=YESchroot_list_enable=YES# (default follows)chroot_list_file=/etc/vsftpd/chroot_listlisten=YES#vsftp,4中的文件名一致pam_service_name=vsftpuserlist_enable=YEStcp_wrappers=YES#vsftp user, 新增   vsftpuser, useradd 添加用户guest_enable=YES#vsftpuser即5中新建的用户名guest_username=vsftpuser  virtual_use_local_privs=NOfile_open_mode=0777anon_umask=0222#用户配置目录,不通的用户对应不通的文件. 文件名为用户名,和6中一致user_config_dir=/etc/vsftpd/user_conf/

?

三?启动

service vsftpd start或者/etc/init.d/vsftpd start

?

四?问题

500 OOPS: could not read chroot() list file:/etc/vsftpd/chroot_list
500 OOPS: priv_sock_get_result
远程主机关闭连接。

?

没有新建chroot_list

?

500 OOPS: cannot change directory:/home/vsftpuser
500 OOPS: 500 OOPS: child died

1. 查看用户目录权限.

2.

sestatus -b | grep ftp#显示allow_ftpd_anon_write                       offallow_ftpd_full_access                      offallow_ftpd_use_cifs                         offallow_ftpd_use_nfs                          offftp_home_dir                                offftpd_connect_db                             offhttpd_enable_ftp_server                     offsftpd_anon_write                            offsftpd_enable_homedirs                       offsftpd_full_access                           offsftpd_write_ssh_home                        offtftp_anon_write                             off

?

在出现的结果中可以看到
ftp_home_dir off
tftpd_disable_trans off
之类。我们现在只要把其中之一设置为on就可以啦。
setsebool -P ftpd_disable_trans on 或者 setsebool -P ftp_home_dir on

重启vsftpd: service vsftpd restart?

???

热点排行