vsftpd 虚拟用户的权限问题

vsftpd 虚拟用户的权限问题

1.生成虚拟用户口令库文件
      vi /etc/vsftpd/account.txt
      ylg
      1234

2.生成口令库文件,并修改其权限
db_load -T -t hash -f ./account.txt /etc/vsftpd/account.db
chmod 600 /etc/vsftpd/account.db

3.新建一个虚拟用户的PAM文件。加上如下两行内容
      vi /etc/pam.d/vsftp.vu
      auth required /lib/security/pam_userdb.so    db=/etc/vsftpd/account
      account required /lib/security/pam_userdb.so db=/etc/vsftpd/account
      
4.建立虚拟用户,设置该用户所要访问的目录,并设置虚拟用户访问的权限
       useradd -d /webphp virtual_user
      chmod 700 /webphp

5.编辑/etc/vsftpd/vsftpd.conf文件,使其整个文件内容如下所示(去掉了注释内容)
  anonymous_enable=NO
  local_enable=YES
  local_umask=022
  xferlog_enable=YES
  connect_from_port_20=YES
  xferlog_std_format=YES
  listen=YES
  write_enable=YES
  anon_upload_enable=YES
  anon_mkdir_write_enable=YES
  anon_other_write_enable=YES
  one_process_model=NO
  chroot_local_user=YES
  ftpd_banner=Welcom to my FTP server.
  anon_world_readable_only=NO
  guest_enable=YES
  guest_username=virtual_user
  pam_service_name=vsftp.vu
  user_config_dir=/etc/vsftpd/user_config_dir

6.然后在那个/etc/vsftpd/user_config_dir目录下建立文件,名字给你虚拟用户名一样。如:
   mkdir /etc/vsftpd/user_config_dir
   vi /etc/vsftpd/user_config_dir/ylg
  anon_world_readable_only=NO                                 
  anon_upload_enable=YES                     
  write_enable=YES                                             
anon_other_write_enable=YES
  anon_mkdir_write_enable=YES
  local_root=/webphp/abc

问题来了:用虚拟用户ylg和密码FTP上去后,上传文件的权限是600,在前台有时候访问不了,要用chmod改成777就正常了,要是每传一个文件都要用SSH改权限太麻烦了,请问在哪里可以让虚拟用户上传后的文件权限是777,谢谢!      
楼主可以直接把虚拟用户目录的权限改为705
权限位700时,虚拟用户是无法登陆到ftp中去的,      
引用:
原帖由 focus00 于 2008-9-21 10:51 发表
楼主可以直接把虚拟用户目录的权限改为705
权限位700时,虚拟用户是无法登陆到ftp中去的,
没用,就算是777,上传后的文件权限还是600。      
引用:
原帖由 逸逸当当 于 2008-9-21 15:11 发表

没用,就算是777,上传后的文件权限还是600。
loacl_umask=000
这样再上传的权限就位777了