Ftp 笔记
文章目录
环境
- CentOS7
- vsftpd
- 关闭 selinux
安装 vsftpd 服务
|
|
常用客户端
- ftp
- lftp
- curl
主动模式
-
建立控制命令连接
- 客户端连接服务端 21 号端口
-
建立数据传送连接
- 客户端在本地监听一个端口(大于 1024 ),并通过 PORT 命令通知服务端
- 服务端从 20 端口连接客户端正在监听的端口,向客户端发送数据
-
相关配置
1 2
# 开启主动模式 pasv_enable = no
被动模式
-
建立控制命令连接
- 客户端连接服务端 21 号端口
-
建立数据传送连接
- 服务端在本地再次监听一个端口(大于 1024),并通过 PASV 命令通知客户端
- 客户端连接服务端新监听的端口,下载服务端数据
-
相关配置
1 2 3 4 5 6
# 开启被动模式 pasv_enable = yes # 数据连接可以使用的端口范围的最大端口,0 表示任意端口,默认值为0 pasv_min_port=30000 # 数据连接可以使用的端口范围的最小端口,0 表示任意端口,默认值为0 pasv_max_port=30999
匿名用户配置
|
|
配置
常用配置
|
|
允许 vsftpd 匿名用户上传和下载
-
创建匿名用户登陆目录
1 2 3
mkdir -p /var/ftp/pub chown -R ftp.ftp /var/ftp/pub chmod o+w /var/ftp/pub
-
修改 vsftpd.conf
1 2 3 4 5 6 7 8 9 10 11
#允许匿名用户登录FTP anonymous_enable=YES #设置匿名用户的登录目录(如需要,需自己添加并修改) anon_root=/var/ftp/pub #打开匿名用户的上传权限 anon_upload_enable=YES #打开匿名用户创建目录的权限 anon_mkdir_write_enable=YES #打开匿名用户删除和重命名的权限(如需要,需自己添加) anon_other_write_enable=YES anon_umask=022
本地用户登陆
- 修改 vsftpd.conf
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
# 不允许匿名用户登入 anonymous_enable=no # 允许本地用户登入 local_enable=YES # 当本地用户登入时,将被更换到定义的目录下 # 默认值为各用户的家目录 local_root=/home/username # 是否允许登陆用户有写权限 # 属于全局设置,默认值为YES。 write_enable=YES/NO(YES) # 本地用户新增档案时的 umask 值,默认值为077 local_umask=022 # 本地用户上传档案后的档案权限 # 与chmod所使用的数值相同,默认值为0666 file_open_mode=0755 # 指定用户列表文件中的用户不允许切换到上级目录 chroot_local_user=YES
创建 ftp 专用账户
-
创建用户 ftpuser1
1 2
useradd -s /sbin/nologin ftpuser1 passwd ftpuser1
-
修改 vsftpd.conf
1 2 3 4 5 6 7
anonymous_enable=no local_enable=YES local_root=/home/ftpuser write_enable=YES local_umask=022 file_open_mode=0755 chroot_local_user=YES
参考
文章作者 Colben
上次更新 2019-10-31