ubuntu上部署安装ftp服务器

FTP 是File Transfer Protocol(文件传输协议)的英文简称,而中文简称为“文本传输协议”。用于Internet上的控制文件的双向传输。

 

      在FTP的使用当中,用户经常遇到两个概念:"下载"(Download)和"上传"(Upload)。"下载"文件就是从远程主机拷贝文件至自己的计算机上;"上传"文件就是将文件从自己的计算机中拷贝至远程主机上。用Internet语言来说,用户可通过客户机程序向(从)远程主机上传(下载)文件。

  • apt-get安装FTP服务

sudo apt-get install vsftpd

  • FTP启动、停止、重启命令

sudo service vsftpd start|stop|restart

sudo /etc/init.d/vsftpd start|stop|restart

  • 检查FTP端口是否已经打开,ftp默认情况下,命令端口是21,数据端口就是20,或者直接在浏览器里输入“ftp://服务器IP”

netstat -tnl

  • 配置vsftpd.conf文件

sudo vi /etc/vsftpd.conf

  1. 基本配置

anonymous_enable=NO  #是否允许匿名登陆

local_enable=YES  # 是否允许本地登陆

write_enable=YES  # 设置FTP可写

 

 

  1. 用户登录限制

# 允许/etc/vsftpd.userlist用户列表登录

userlist_enable=YES

userlist_deny=NO

userlist_file=/etc/vsftpd.user_list

# 禁止/etc/vsftpd.userlist用户列表登录

userlist_enable=YES

userlist_deny=YES

userlist_file=/etc/vsftpd.user_list

 

3. FTP 用户限制在其 home 目录

 - 由chroot_local_user、chroot_list_enable、chroot_list_file这三个文件控制,转别人的一段话:

 - 首先,chroot_list_enable好理解,就是:是否启用chroot_list_file配置的文件,如果为YES表示chroot_list_file配置的文件生效,否则不生效;

 - 第二,chroot_list_file也简单,配置了一个文件路径,默认是/etc/vsftpd.chroot_list,该文件中会填入一些账户名称。但是这些账户的意义不是固定的,是跟配置项chroot_local_user有关的。后一条中说明;

 - 第三,chroot_local_user为YES表示所有用户都*不能*切换到主目录之外其他目录,但是!除了chroot_list_file配置的文件列出的用户。chroot_local_user为NO表示所有用户都*能*切换到主目录之外其他目录,但是!除了chroot_list_file配置的文件列出的用户。也可以理解为,chroot_list_file列出的“例外情况”的用户。

 

chroot_local_user=YES

chroot_list_enable=YES

chroot_list_file=/etc/vsftpd.chroot_list

 

# 在本地 root 目录中插入用户名

# 定义各个用户的本地 root 目录

user_sub_token=$USER

local_root=/home/$USER

 

 

  • FTP服务器配置文件
  • 主配置文件:/etc/vsftp.conf
  • 权限限制用户列表文件:/etc/vsftp.chroot_list
  • 认证配置文件:/etc/pam.d/vsftpd
  • 用户列表:/etc/vsftpd.user_list
  • 创建FTP用户

sudo useradd ftpuser -m -s /bin/bashsudo

passwd ftpuser

 

 

当我们限定了用户不能跳出其主目录之后,使用该用户登录FTP时往往会遇到这个错误:

 

500 OOPS: vsftpd: refusing to run with writable root inside chroot ()

 

这个问题发生在最新的这是由于下面的更新造成的:

 

- Add stronger checks for the configuration error of running with a writeable root directory inside a chroot(). This may bite people who carelessly turned on chroot_local_user but such is life.

 

从2.3.5之后,vsftpd增强了安全检查,如果用户被限定在了其主目录下,则该用户的主目录不能再具有写权限了!如果检查发现还有写权限,就会报该错误。

 

 要修复这个错误,可以用命令chmod a-w /home/user去除用户主目录的写权限,注意把目录替换成你自己的。或者你可以在vsftpd的配置文件中增加下列两项中的一项:

allow_writeable_chroot=YES

ftp 账号iSynergy/iSynergy iSynergyAdmin/iSynergyAdmin能够登录到各自的目录下

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值