• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    Ubuntu上FTP服务器程序vsftpd安装配置全流程攻略

    安装ftp

    复制代码
    代码如下:

    sudo apt-get install vsftpd

    配置vsftpd.conf

    复制代码
    代码如下:

    sudo nano /etc/vsftpd.conf
    #禁止匿名访问
    anonymous_enable=NO
    #接受本地用户
    local_enable=YES
    #允许上传
    write_enable=YES
    #用户只能访问限制的目录
    chroot_local_user=YES
    #设置固定目录,在结尾添加。如果不添加这一行,各用户对应自己的目录,当然这个文件夹自己建
    local_root=/home/ftp

    看网上说加一行“pam_service_name=vsftpd”,我看我这个配置文件本来就有,就不管了。

    添加ftp用户

    复制代码
    代码如下:

    sudo useradd -d /home/ftp -M ftpuser
    sudo passwd ftpuser

    调整文件夹权限
    这个是避免“500 OOPS: vsftpd: refusing to run with writable root inside chroot()”

    复制代码
    代码如下:

    sudo chmod a-w /home/ftp
    sudo mkdir /home/ftp/data

    这样登录之后会看到data文件夹,虽然稍麻烦,原因不表了。。查资料这么辛酸已经不易。。
    改pam.d/vsftpd
    这时候直接用useradd的帐号登录ftp会530 login incorrect

    复制代码
    代码如下:

    sudo nano /etc/pam.d/vsftpd

    注释掉

    复制代码
    代码如下:

    #auth required pam_shells.so

    重启vsftpd

    复制代码
    代码如下:

    sudo service vsftpd restart

    这时就可以用刚才建的ftpuser这个用户登录ftp了,看到的是local_root设置的/home/ftp,并且限制在该目录。
    可以在浏览器用ftp://xxx.xxx.xxx.xxx访问,也可以用ftp软件比如flashFXP,密码就是ftpuser的密码。

    关于用户访问文件夹限制
    由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列出的“例外情况”的用户。
    如果客户端登录时候提示“以pasv模式连接失败”
    编辑/etc/vsftpd.conf
    最后添加

    复制代码
    代码如下:

    pasv_promiscuous=YES

    然后再重启vsftpd服务。

    vsftpd 530 Permission denied错误与530 Login incorrect
    在linux上搭建完ftp服务器后,用户登录vsftpd出现530 Login incorrect错误与530 Permission denied错误。 530 Permission denied 原因是/etc/vsftpd/vsftpd.conf里userlist_enable=YES /etc/vsftpd/user_list含有root名单
    2种解决办法:
    1.userlist_enable=NO 将root从user_list中去掉
    530 Login incorrect错误 将root从/etc/vsftpdftpusers中去掉。
    2.如果是默认安装vsftpd的话,以下是一些文件的位置约定:
    /usr/sbin/vsftpd ---- VSFTPD的主程序 /etc/rc.d/init.d/vsftpd ---- 启动脚本 /etc/vsftpd/vsftpd.conf ---- 主配置文件 /etc/pam.d/vsftpd ---- PAM认证文件 /etc/vsftpd.ftpusers ---- 禁止使用VSFTPD的用户列表文件 /etc/vsftpd.user_list ---- 禁止或允许使用VSFTPD的用户列表文件 /var/ftp ---- 匿名用户主目录 /var/ftp/pub ---- 匿名用户的下载目录
    如果要更改默认下载目录,修改/etc/vsftpd/vsftpd.conf,加入如下三行: local_root=/ chroot_local_user=YES anon_root=/ local_root表示使用本地用户登录到ftp时的默认目录 anon_root表示匿名用户登录到ftp时的默认目录 上面的chroot_list_file是设定锁定登陆用户在其home目录的列表,要在chroot_list_enable=YES情况下才生效。 另外,如luo_rc所述,最好不要设置默认目录为/,使用建议使用mount --bind来挂载需要的目录。

    上一篇:在Ubuntu系统中安装Chrome浏览器的教程
    下一篇:Ubuntu Kylin 14.10默认的屏幕分辨率怎么更改?
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    Ubuntu上FTP服务器程序vsftpd安装配置全流程攻略 Ubuntu,上,FTP,服务器,程序,