Ubuntu 搭建FTP服务器(匿名用户和本地用户)
1. $ sudo apt-get install vsftpd2. $ 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]