吉佳 发表于 2015-11-6 10:15:56

Ubuntu 搭建FTP服务器(匿名用户和本地用户)

  1. $ sudo apt-get install vsftpd
  2. $ uname -a
  3. $ dpkg -l | grep vsftpd
  4. 匿名用户
  1). 修改配置文件/etc/vsftpd.conf
  anonymous_enable=YES
  write_enable=YES
  anon_mkdir_write_enable=YES
  anon_other_write_enable=YES
  2). 查看ftp目录
  $ cat /etc/passwd | grep ftp
  ftp:x:108:117:ftp daemon,,,:/srv/ftp:/bin/false
  3). 我的ftp目录为 /srv/ftp
  $ cd /srv/ftp
  $ ls -l
  drwxr-xr-x 2 root ftp 4096 2011-08-08 14:43 ftp
  但这样是不能上传文件的。因为这是匿名用户,当前目录所有者是root用户; 真的要上传文件在该目录下建立一个文件夹如名字是upload,
  $ sudo mkdir/srv/ftp/upload
  $ sudo chown ftp:root/srv/ftp/upload
  这个时候可以传文件到upload目录,但根目录还是不能上传文件,这是匿名用户,如果不是匿名用户就不存在这个问题。
  5. 本地用户
  1). 修改配置文件/etc/vsftpd.conf
  anonymous_enable=NO
  local_enable=YES
  write_enable=YES
  chroot_local_user=YES

  2). 创建本地用户
  $ sudo useradd ftpuser -m

  $ sudo passwd ftpuser
  便可用ftpuser登录FTP了。

  6. 如果出现错误:500 OOPS: vsftpd: refusing to run with writable anonymous root
这表示ftp用户的家目录的权限不对,这个目录的权限是不能打开所有权限的;是运行了chmod 777 /srv/ftp所致;如果没有ftp用户这个家目录,当然您要自己建一个;
FTP用户的家目录是不能针对所有用户、用户组、其它用户组完全开放的;解决办法如下:
  # chown root:root /srv/ftp
# chmod 755 /srv/ftp
  7. 防火墙打开相应的端口21,20
  8. /etc/init.d/vsftpd restart 重启服务
页: [1]
查看完整版本: Ubuntu 搭建FTP服务器(匿名用户和本地用户)