ubuntu建立ftp服务器
ubuntu建立ftp服务器
#step A. 添加新用户
Step1:添加新用户
useradd -r -m -s /bin/bash 用户名
Step2:配置新用户密码
passwd 用户名
假设用户名 ftpuser1
命令:
$ useradd -r -m -s /bin/bash ftpuser1
$ passwd ftpuser1
mkdir -p /home/ftpuser1
useradd ftpuser1 -g ftp -d /home/ftpuser1 -s /sbin/nologin
passwd ftpuser1
#step B. 安装vsftpd
sudo apt-get update
sudo apt-get install vsftpd
#step C. 配置vsftpd
# 编辑/etc/vsftpd.conf
local_enable=YES
local_root=/mnt/www/ftp-docs
local_umask=022
write_enable=YES
chroot_local_user=YES
user_config_dir=/etc/vsftpd/userconfig
userlist_deny=NO
userlist_enable=YES
userlist_file=/etc/allowed_users
seccomp_sandbox=NO
anon_root=/mnt/www/ftp-docs
anon_upload_enable=NO
anon_other_write_enable=NO
anonymous_enable=NO
这里解释下:
userlist_deny=NO
userlist_enable=YES (指定一个userlist,里面放允许ftp登陆的用户名)
userlist_file=/etc/allowed_users (记录允许本地登陆用户名的文件)
seccomp_sandbox=NO (该选项不配置可能导致莫名其妙的530问题)
user_config_dir=/etc/vsftpd/userconfig (对应每个用户不同配置)
anonymous_enable=NO(是否允许匿名ftp,若不允许选NO)
local_enable=YES(是否允许本地用户登录)
write_enable=YES(是否允许本地用户写的权限)
chroot_local_user=YES(是否将所有用户限制在主目录)
chroot_list_enable=YES(是否启动限制用户的名单)
chroot_list_file=/etc/vsftpd.chroot_list(可在文件中设置多个账号)
启用在chroot_list_file的用户只能访问根目录
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd.chroot_list
在/etc/vsftpd.chroot_list添加受访问目录限制的用户:
echo "ftpuser1" >> /etc/vsftpd.chroot_list
# 编辑/etc/allowed_users
加入一行填写ftpuser1
ftpuser1
root
# 编辑/etc/ftpusers
这个文件中记录的是不能访问FTP服务器的用户清单
如果有写用户ftpuser1,记得删掉这行
$ cd /etc
$ mkdir vsftpd
$ mkdir userconfig
$ touch ftpuser1
$ vi ftpuser1
在文件/etc/vsftpd/userconfig/ftpuser1
里加入一行
local_root=/mnt/www/ftp-docs/ftpuser1
#step D. 重启vsftpd服务
sudo service vsftpd restart
开启、停止、重启vsftpd服务也很简单:
service vsftpd start | stop | restart