|
楼主
发表于: 2009-02-26 13:33
Linux FTP 服务器安装配置(vsftpd)1. yuminstall vsftpd (yum 自动安装); 2. 修改vsftpd的配置: 在/etc/vsftpd/vsftpd.conf 文件,修改默认配置,包括监听地址和端口,是否打开tcp、psav模式等等 3.启动vsftpd服务: 运行service vsftpd start即可,或者运行/etc/init.d/vsftpd start 说明: 创建匿名用户根目录: anon_root=/var/ftp/ 匿名用户上传文件: write_enable=YES anon_world_readable_only=NO anon_upload_enable=YES anon_mkdir_write_enable=YES anon_other_write_enable=YES 然后创建供匿名用户上传文件的目录,并设定权限: # mkdir /var/ftp/incoming # chmod o+w /var/ftp/incoming file_open_mode=0777 ##如果希望上传的文件可以执行,设此值为0777。默认值为0666。 限制用户在自家目录 1、限制所有的本地用户在自家目录 chroot_local_user=YES 2、限制部分本地用户在自家目录 chroot_local_user=NO chroot_list_enable=YES chroot_list_file=/etc/vsftpd.chroot_list 在/etc/vsftpd.chroot_list文件中加入要限制的本地用户名。注意一个用户名一行。 日志设置: xferlog_enable=YES|NO xferlog_file= 这个选项设定记录传输日志的文件名。默认值为/var/log/vsftpd.log。 用setup 可以把它选择为开机自动运行 关于windows用户访问服务器时候出现乱码的问题 windows访问vsftp出现乱码因为windows默认编码是GB2312,linux用的是UTF-8编码,所以上传文件会有乱码,这时可以更改修改 /etc/sysconfig/i18n文件,将第二行改成这样:LANG = "zh_CN.GB2312"就可以了 vsFTP(二)让虚拟账户使用不同的主目录,并且又完全权限 (转自http://blog.chinaunix.net/u1/42928/showart_334305.html) virtual_user的主目录: /home/ftp vsftpd.conf中加入 guest_username=virtual_user user_config_dir=/etc/vsftpd_user_config user_sub_token=$USER /etc/vsftpd_user_config目录下为每个用户建一个配置文件,文件名与用户名相同,内容中必须有 local_root=/home/ftp/$USER 让虚拟账户使用不同的主目录,并且又完全权限, 在vsftpd.conf中输入下面代码:anonymous_enable=NO local_enable=YES write_enable=YES local_umask=022 anon_upload_enable=YES anon_mkdir_write_enable=YES anon_other_write_enable=YES dirmessage_enable=YES xferlog_enable=YES connect_from_port_20=YES xferlog_std_format=YES pam_service_name=vsftpd userlist_enable=YES one_process_model=NO anon_world_readable_only=NO guest_enable=YES guest_username=nihao listen=YES tcp_wrappers=YES user_config_dir=/etc/vsftpd_user_config user_sub_token=$USER ===================================== 创建数据库文件 db_load -T -t hash -f /etc/vsftpd/logins.txt /etc/vsftpd/vsftpd_login.db 且设置权限 chmod 600 /etc/vsftpd/vsftpd_login.db 创建数据库的PAM文件 vi vsftpd.pam 内容如下: auth required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login account required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login 并复制到/etc/pam.d下 cp vsftpd.pam /etc/pam.d 设置虚拟用户的根目录 useradd -d /home/ftp vftp 限制个人用户目录: user_config_dir=/etc/vsftpd/vsftpd_user_conf 在该目录下建立与特定虚拟用户同名的文件 在用户文件里加入: local_root=/home/test 就可设置用户的目录 并按实际需要开启相关的权限 anon_world_readable_only=NO write_enable=YES anon_upload_enable=YES anon_other_write_enable=YES anon_umask= 匿名用户新增文件的umask 数值。默认值为077。 vi vsftpd.conf anonymous_enable=NO local_enable=YES local_umask=022 anon_umask=022 write_enable=NO anon_upload_enable=NO anon_mkdir_write_enable=NO anon_other_write_enable=NO chroot_local_user=YES guest_enable=YES guest_username=vftp listen=YES pam_service_name=vsftpd.pam user_config_dir=/www/servers/vsftpdv/user pasv_enable=YES pasv_min_port=10240 pasv_max_port=10250 userlist_enable=YES userlist_deny=YES userlist_file=/etc/vsftpd.denyuser |
|---|



