最新帖子 精华区 社区服务 会员列表 统计排行 银行
主题 : Linux FTP 服务器安装配置(vsftpd)
楼主  发表于: 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

快速回复 顶端
内容
HTML 代码不可用
使用签名
Wind Code自动转换

按 Ctrl+Enter 直接提交