• ubuntu14.4开启ftp服务


    1 更新源列表

    打开"终端窗口",输入"sudo apt-get update"-->回车-->"输入当前登录用户的管理员密码"-->回车,就可以了。

    2 安装vsftpd

    打开"终端窗口",输入"sudo apt-get install vsftpd"-->回车-->安装完成。

    3 新建"/home/uftp"目录作为用户主目录

    打开"终端窗口",输入"sudo mkdir /home/uftp"-->回车-->输入"sudo ls /home"-->回车-->有一个uftp目录,目录新建成功。

    4 新建用户uftp并设置密码

    打开"终端窗口",输入"sudo useradd -d /home/uftp -s /bin/bash uftp"-->回车-->用户新建成功-->输入"sudo passwd uftp"设置uftp用户的密码-->回车-->输入两次密码-->回车-->密码设置成功。

    sudo adduser xxx 这样的命令会在home目录下添加一个帐号
    sudo useradd xxx 仅仅是添加用户, 不会在home目录添加帐号

    彻底删除用户方法

    在root用户下:userdel -r newuser
    在普通用户下:sudo userdel -r newuser

    加上-r的选项,在删除用户的同时一起把这个用户的宿主目录和邮件目录删除。


    5 使用gedit修改配置文件/etc/vsftpd.conf

    打开"终端窗口",输入"sudo gedit /etc/vsftpd.conf"-->回车-->打开了vsftpd.conf文件,向文件中添加
    "userlist_deny=NO

    userlist_enable=YES
    userlist_file=/etc/allowed_users"和
    "seccomp_sandbox=NO"-->使文件中的
    "local_enable=YES"  //允许本地用户登录

    -->保存。

    #指定登录转向目录
    local_root=/home/ftp/ftp

    #同时允许4客户端连入,每个IP最多5个进程
    max_clients=200
    max_per_ip=4


    6 使用gedit新建/etc/allowed_users文件

    打开"终端窗口",输入"sudo gedit /etc/allowed_users"-->回车-->输入uftp-->保存, 文件创建成功。


    7使用gedit查看/etc/ftpusers文件中的内容

    打开"终端窗口",输入"sudo gedit /etc/ftpusers"-->回车-->打开这个文件后,看一看有没有uftp这个用户名,如果没有,就直接退出。如果有就删除uftp,因为这个文件中记录的是不能访问FTP服务器的用户清单。

    8 如果想要用户登陆后限制他们只能在自己的home目录,可以在vsftpd.conf配置文件中添加下面3行

    chroot_local_user=YES
    chroot_list_enable=YES
    chroot_list_file=/etc/vsftpd/chroot_list

    另一种方案

    chroot_local_user=YES
    chroot_list_enable=YES(这行可以没有, 也可以有)
    chroot_list_file=/etc/vsftpd/chroot_list

    凡是加在文件vsftpd.chroot_list中的用户都是不受限止的用户,即, 可以浏览其主目录的上级目录.

     操作完之后,登录报  500 OOPS: vsftpd: refusing to run with writable root inside chroot ()

    解决办法

    可以用命令chmod a-w /home/user去除用户根目录的写权限,注意把目录替换成你自己的。

    或者你可以在vsftpd的配置文件中增加下列两项中的一项:

    allow_writeable_chroot=YES

    9 可以使用下列命令来打开,关闭,重启ftp服务

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

    问题:

    1 修改过vsftp配置文件后vsftpd不能启动,解决办法,先卸载,再重新装。

    sudo apt-get purge vsftpd
    sudo apt-get install vsftpd
    ps -ef |grep vsftpd

    2 最近在ubuntu14.4中进行配置,上面无论如何不行。经过多次尝试可以使用下面配置

    write_enable=YES
    seccomp_sandbox=NO
    
    userlist_file=/etc/allowed_users
    background=NO

    含义和上面一样。

    3 对于中文乱码问题

    由于系统编码的不同常常会出现中文乱码问题。涉及的部分有:linux 系统默认编码 UTF-8、windows 系统默认编码 GBK、ftp 服务器和客户端编码

    在最近项目中需要使用 ftp 服务,在 ubuntu 上搭建了 vsftp 服务,使用 commons-net 的  FTPClient 进行传输文件,发现中文会出现乱码。上网查资料发现编码不一致,需要设置为统一的编码。要么都设置为 GBK, 要么设置为 UTF-8。

    我采用 UTF-8,

    1)首先 ubuntu 系统设置为 utf-8

    sudo apt-get update
    # 先安装一下中文支持
    sudo apt-get install language-pack-zh-hans
    # 更新对应的locale文件
    dpkg-reconfigure locales  -> 一路确认
    #查看编码设置
    locale
    
    LANG=zh_CN.utf8
    LANGUAGE=
    LC_CTYPE="zh_CN.utf8"
    LC_NUMERIC="zh_CN.utf8"
    LC_TIME="zh_CN.utf8"
    LC_COLLATE="zh_CN.utf8"
    LC_MONETARY="zh_CN.utf8"
    LC_MESSAGES="zh_CN.utf8"
    LC_PAPER="zh_CN.utf8"
    LC_NAME="zh_CN.utf8"
    LC_ADDRESS="zh_CN.utf8"
    LC_TELEPHONE="zh_CN.utf8"
    LC_MEASUREMENT="zh_CN.utf8"
    LC_IDENTIFICATION="zh_CN.utf8"
    LC_ALL=zh_CN.utf8
    #重启系统更新配置
    reboot

    2) vsftp 配置文件设置 utf-8

    vi /etc/vsftpd.conf 
    # 在文件末尾添加
    utf8_filesystem=YES

    重启 vsftp 服务

    3)对于使用 commons-net 的 FTPClient 上传下载文件、获取文件列表等操作包含中文的需要对字符编码进行设置

  • 相关阅读:
    Spring Controller参数为空串的处理方式
    netstat用法
    zookeeper的配置项
    C++ Lambda表达式用法
    java命令行运行jar里的main类
    Random的nextInt用法
    【JAVA】删除某个目录及目录下的所有子目录和文件
    Centos7设置keepAlived开机自启动
    linux设置nginx开机自启动
    window.open()方法
  • 原文地址:https://www.cnblogs.com/zhaopengcheng/p/6007492.html
Copyright © 2020-2023  润新知