阿里云Ubuntu开通ftp功能
虽然现在FTP用的不是很多,但某些时候用来提供一个账号密码给别人来往指定的目录的文件更新什么的还是可以节省我们自己的大量时间。所以快速的了解一下如果开通和安装配置还是很有必要的。
先讲一下大致的流程,方便有一个全面的认知,在进行配置或设置就会方便很多了。
- 安装ftp工具(我们使用的是vsftp)
- 对ftp工具进行配置&调整
- 配置对应的用户及权限 基本我的理解就是完成上面三步就差不多了。当然这些每个展开讲都是很复杂的,不过我们如果只是单纯使用的话,到也没有那么麻烦,按照下面说的来肯定是可以的。
安装vsftp
sudo apt-get install vsftp
,运行后一般就没有什么问题,直接按y
确认安装即可。
配置相关
安装后默认的ftp配置文件都在/etc/vsftpd.conf
里面。这里我主要说一下比较重要的
anonymous_enable=NO (接受匿名用户,默认无密码请求)
local_enable=YES (接受本地用户)
write_enable=YES (上传总开关)
anon_upload_enable=YES (允许匿名用户上传文件)
chown_username=whoever (匿名上传文件所属用户名)
xferlog_enable=YES (开启日记功能 )
xferlog_file=/var/log/vsftpd.log (日志文件位置 )
write_enable=YES (权限允许的情况下允许上传)
chroot_list_enable=YES //限制访问自身目录
我这里公布一下我的配置情况(如果你觉得麻烦,直接按照我这个配置也是可以的)
listen=NO
listen_ipv6=YES
anonymous_enable=NO
local_enable=YES
write_enable=YES
allow_writeable_chroot=YES
dirmessage_enable=YES
use_localtime=YES
xferlog_enable=YES
connect_from_port_20=YES
chroot_local_user=YES
chroot_list_enable=YES
secure_chroot_dir=/var/run/vsftpd/empty
pam_service_name=vsftpd
rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
ssl_enable=NO
还有就是修改端口的,FTP默认的端口是21,如果想修改也可以按照下面的步骤
1、在vsftpd.conf
文件中添加listen_port=801
(或者你想要的端口号)
2、编辑 /etc/services 文件,将其中的 ftp 21/tcp 改为 ftp 801/tcp , ftp
21/udp改为 ftp 801/udp
3、执行 /etc/init.d/vsftpd restart 重新启动 vsftpd 服务。启动完成后可以使
用 netstat -ntpl | grep vsftpd 命令可以查看到系统现监听的 vsftpd 的端口为 801
4、直接访问即可生效。
添加用户&用户组
先说明一下其实用户本身和vsftp
工具本身没有什么关系,而是通过添加修改ubuntu
本身的用户进而用户通过ftp
这个工具来进行连接的
1、添加用户,假设我们要添加一个新用户,用户名为ftp1,我们将该用户限制只能访问路径/home/ftp1
useradd -d /home/ftp1 ftp1 //增加用户ftp1,并制定ftp1用户的主目录为/home/ftp1
passwd ftp1 //为ftp1设置密码
2、更改用户相应的权限设置:
usermod -s /sbin/nologin ftp1 //限定用户ftp1不能telnet,只能ftp
usermod -s /sbin/bash ftp1 //用户ftp1恢复正常
usermod -d /ftp1 ftp1 //更改用户ftp1的主目录为/ftp1
完成了以上设置,重启一下vsftp
服务即可。/etc/init.d/vsftpd restart