且FTP的要求并不高。于是,简单方便的vsftpd就成了第一选择。
要在Ubuntu下安装vsftpd很简单,首先输入下面的命令进行安装:
#apt-get install vsftpd
接下来需要进行简单的配置,我们先编辑它的配置文件/etc/vsftpd.conf:
#vim /etc/vsftpd.conf
这个配置文件里面很多内容都可以保持默认,不过为了进一步加深理解,我们还是来了解一下常用的选项吧!
listen=YES:这个表示是否监听端口,我们就是要架设FTP服务器,当然YES啦!
anonymous_enable=NO:这个标识是否启用匿名用户,一般我们自己的服务器肯定都是不允许匿名登录的,那样多危险啊!所以这里保持NO。当然如果您需要启动匿名用户,别忘记这里改为YES。
local_enable=YES:这个表示是否允许本地用户登录。我们当然需要让本地用户登录啦,因为他们都是有用户名和密码的。这样就不用去额外添加FTP账号了,直接创建Linux用户即可。
write_enable=YES:是否允许写入数据。这个如果为YES,那么用户就可以进行上传文件、修改文件、删除文件等操作;否则就全部只能看到文件、下载文件,但是不允许执行修改、删除、上传的操作。
local_umask=077:这是将文件上传之后,文件的权限,默认为077。除非有特殊需要,建议保持不变。
anon_upload_enable=YES:这是是否启用匿名用户的上传权限。如果您希望匿名用户也能上传文件的话,启用这项即可。
anon_mkdir_write_enable=YES:同样是给匿名用户的权限,是可以创建目录,写入、修改、删除文件的总开关。一般情况下匿名用户不能使用这样的权限,会带来潜在的风险。
dirmessage_enable=YES:用户进入一个目录后,是否给出信息提示。默认YES,默认即可。
use_localtime=YES:是否使用服务器本地的时间,保持默认YES即可。
xferlog_enable=YES:是否记录FTP用户的操作记录,为了方便追溯和安全起见,建议YES。
connect_from_port_20=YES:是否允许从20端口连接,保持YES即可,除非你确定不用这个20端口。
chown_uploads=YES:是否改变上传文件的归属,默认是注释掉不生效的,如果你需要将上传的文件权限更改为某个账户,可以选择YES启用它。
chown_username=whoever:这项是承接上一个选项的,是改变为哪个用户的权限。注意:改变为root用户权限是不推荐的!
xferlog_file=/var/log/vsftpd.log:日志记录的文件名,保持默认即可。
idle_session_timeout=600:空闲多少时间自动断开FTP连接,单位是秒。默认值是600秒也就是10分钟。
data_connection_timeout=120:数据传输超时的时间,单位也是秒。是指数据传输过程中,多长时间内接收不到数据,就认为超时,然后断开连接。
ftpd_banner=Welcome to blah FTP service.这个是连接FTP的时候,服务器给出的欢迎信息。
chroot_local_user=YES:这个选项很重要,他决定了登录的FTP用户是否可以“漫游”到自己目录以外的目录,除非特别需要,否则强烈推荐设置为YES,将用户锁定在他们自己的目录内,避免他们看到或者修改系统文件。
添加用户:
useradd -g ftp -d /home/ftp/ -s /sbin/nologin ftp
-g 添加到ftp组, 用户家目录是/home/ftp/ -s /sbin/nologin 不允许以此用户登录系统,用户名ftp。
passwd ftp 修改ftp用户的密码。
vim /etc/vsftpd/vsftpd.user_list 添加用户名
vim /etc/vsftpd/vsftpd.chroot_list 添加用户名和其根目录