vsftp 常用操作

安装

yum install vsftpd

启动服务

service vsftpd start

开启自动启动

chkconfig --level 35 vsftpd on

关闭匿名登陆

vi /etc/vsftpd/vsftpd.conf
anonymous_enable=NO

查看用户和对应管理目录

vi /etc/vsftpd/ftpusers // ftp用户黑名单 -- 指定了那些账户不可以访问ftp服务器
vi /etc/vsftpd/vsftpd.user_list // 黑白名单
// 1) userlist_enable和userlist_deny两个选项联合起来针对的是:本地全体用户(除去ftpusers中的用户)和出现在user_list文件中的用户以及不在在user_list文件中的用户这三类用户集合进行的设置。
// 2) 当且仅当userlist_enable=YES时:userlist_deny项的配置才有效,user_list文件才会被使用;当其为NO时,无论userlist_deny项为何值都是无效的,本地全体用户(除去ftpusers中的用户)都可以登入FTP
// 3) 当userlist_enable=YES时,userlist_deny=YES时:user_list是一个黑名单,即:所有出现在名单中的用户都会被拒绝登入;
// 4) 当userlist_enable=YES时,userlist_deny=NO时:user_list是一个白名单,即:只有出现在名单中的用户才会被准许登入(user_list之外的用户都被拒绝登入);另外需要特别提醒的是:使用白名单后,匿名用户将无法登入!除非显式在user_list中加入一行:anonymous
cat passwd
passwd ftp 用户名
service/restart

添加普通用户

useradd -d /home/testA test111( 添加test111 并指定该用户主目录 )
passwd test111 ( 为test111设置密码)

更改用户权限设置

usermod -s /sbin/nologin test111 ( 限定用户test111不能telnet )
usermod -s /sbin/bash test111 ( 用户test111 恢复正常?? )
usermod -d /testB test111 ( 将用户test111的主目录设置为testB )

限制用户只能访问自己的目录

vi /etc/vsftpd/vsftpd.conf
--- 查看 ---
#(default follows)
chroot_list_file=/etc/vsftpd/vsftpd.chroot_list
// 找到 vsftpd.chroot_list 并编辑
// 将受限制的用户添加进去,每个用户名一行 --- 修改 ---
chroot_list_enable=YES // 限制访问自身目录
choroot_list_file=/etc/vsftpd/vsftpd.chroot_list

需要允许用户修改密码

usermod -s /user/bin/passwd test111 // 用户连接telnet后将直接进入改密码界面

改完配置需要重启服务器

/etc/init.d/vsftpd restart

默认vsftpd.conf配置

# 默认的配置文件路径 : /etc/vsftpd/vsftpd.conf
#
# 默认编译生成设置是相当繁琐.
# 这个样板文件简化一点点。这样可以使ftp进程更具有可用性,如果你想要查看所有编译默认配置信息请查看vsftpd.conf.5
#
# 提示:这个样板文件并没有列出所有vsftpd的配置选项,你可以阅读vsftpd.conf.5获取所有编译配置选项。
#
# 允许匿名访问FTP?(注意--如果你注释这一行代表是允许匿名访问ftp)
anonymous_enable=YES
#
# 取消注释这一行代表允许本地登录,SELinux会为SE bool ftp_home_dir强制检查(类似防火墙,注意连不上要考虑这个原因)
local_enable=YES
#
# 取消注释代表可以任何形式写的命令可用
write_enable=YES
#
# 对于本地用户默认的umask是077.
# 大多数人的umask会设置为022.
#umask值为022:
#1) 文件的最大权限 rwx rwx rwx (777)
#2) umask值为022 --- -w- -w-
#3) 目录权限 rwx r-x r-x (755) 这就是目录创建缺省权限
#4) 文件权限 rw- r-- r-- (644) 这就是文件创建缺省权限
local_umask=022
#
# 取消注释这行代表允许匿名用户上传文件。
# 如果上面全局写命令被激活,这里唯一的影响就是你需要为ftp用户创建一个目录具有写的权限。
# 当然你需要设置Selinux的allow_anon_write allow_ftpd_full_access 属性
#anon_upload_enable=YES
#
# 取消注释这行表示匿名用户可以创建新的目录
#anon_mkdir_write_enable=YES
#
# 激活目录信息:远程用户访问到相对应的目录返回目录信息
dirmessage_enable=YES
#
# 激活上传/下载的日志
xferlog_enable=YES
#
# 确保连接20端口可用(ftp-data)
connect_from_port_20=YES
#
# 如果你想,你可以将匿名上传的文件所有者分配给不同的用户,注意! 不要使用root来上传文件
#chown_uploads=YES
#chown_username=whoever
#
# 你可以重写日志文件路径,默认的路径如下
#xferlog_file=/var/log/xferlog
#
# 如果你想,你可以使用标准的ftp xferlog日志格式,
# 注意默认的日志文件的位置为/var/log/xferlog
xferlog_std_format=YES
#
# 你可以改变默认空闲会话连接超时时间(也就是过了个时间,服务器会自动断开 单位 秒)
#idle_session_timeout=600
#
# 你可以改变默认数据连接超时时间
#data_connection_timeout=120
#
# 推荐在你系统上定义一个唯一用户,ftp服务将会把完全隔离没有特权的用户(剥夺政治权利终身)
#nopriv_user=ftpsecure
#
# 开启,服务器将会识别异步ABOR请求。不推荐安全下使用(这个代码意义重大)。不要开启,可能迷惑老的FTP用户。
#async_abor_enable=YES
#
# 在默认情况下服务器将会假装允许ACSII模式,但事实上会忽略这个请求
# 开启这个选项,服务器将会将会文件进行ASCII编码,
# 注意在有些ftp服务器,在ASCII模式通过命令 "SIZE/big/file可能出现DOS攻击。
# vsftpd predicted this attack and has always been safe, reporting the size of the raw file.
# 在协议中ASCII编码是可怕的特性。
#ascii_upload_enable=YES
#ascii_download_enable=YES
#
# 自定义登录的之后欢迎语
#ftpd_banner=Welcome to blah FTP service.
#
# 你可以自定义一个文件,这个文件包含禁用的匿名e-mail 地址,据说,这种方式对于避免特定DOS攻击
#deny_email_enable=YES
# (默认的email禁止文件路径)
#banned_email_file=/etc/vsftpd/banned_emails
#
# 你可能定义显式一个本地用户列表去改变的他们登录时的根目录,如果chroot_local_user为YES,那么这个列表用户变成NOT chroot() (取反)
# (警告 chroot可能非常危险。如果使用chroot,确保用户不会有获取最高目录的权限。)
You may specify an explicit list of local users to chroot() to their home
#chroot_local_user=YES
chroot_list_enable=YES
# (默认文件的位置)
#chroot_list_file=/etc/vsftpd/chroot_list
#
# 可以激活"-R"选项通过 "ls -R".
# 在默认情况不可用,这样避免大型站点产生过大I/O流。然而对于一些ftp客户端例如"ncftp"和"mirror"默认具有-R属性。这里需要特殊情况才开启
#ls_recurse_enable=YES
#
# 当“listen”可用的时候,vsftpd运行独立模式,然后监听IPv4 套接字。这个并不会监听ipv6。
listen=NO
#
# 这个选项为YES表示监听IPv6套接字。在默认情况下监听在IPv6任意地址将会接受来自IPv6和IPv4客户端。没有必要监听IPv6和IPv4套接字。
# 如果你真有这种需求,(你想要监听特定的地址),你必须要复制两份vsftpd,并且两份配置文件。
# 确保其中一个选项被注释!!
listen_ipv6=YES allow_writeable_chroot=YES //具有写权限
pam_service_name=vsftpd //验证文件
userlist_enable=YES //用户列表开启
tcp_wrappers=YES //tcp封装

linux的vsftp使用介绍的更多相关文章

  1. Linux下vsftp匿名用户配置

    Linux下vsftp匿名用户上传和下载的配置 配置要注意三部分,请一一仔细对照: 1.vsftpd.conf文件的配置(vi /etc/vsftpd/vsftpd.conf) #允许匿名用户登录FT ...

  2. Linux下VsFTP和ProFTP用户管理高级技巧 之一

    Linux下VsFTP和ProFTP用户管理高级技巧       FTP服务时互联网上比较古老的一种应用,至今Interner应用面非常广泛,但令管理员头痛不已的是其用户管理,既多且杂,如何解决这一问 ...

  3. Linux系统Vsftp 传文件出现 553 Could Not Create File错误的解决方法

    解决方法: 登录出现了这个错误提示:553 Could not create file SELinux设置如下 查看SELinux设置 [root@localhost ~]# getsebool -a ...

  4. 12个Linux进程管理命令介绍(转)

    12个Linux进程管理命令介绍 [日期:2015-06-02] 来源:Linux中国  作者:Linux [字体:大 中 小]   执行中的程序在称作进程.当程序以可执行文件存放在存储中,并且运行的 ...

  5. Linux及文件系统基本介绍

    Linux及文件系统基本介绍 1   互联网行业现状 在服务器端市场: 超级计算机 2014年11月的数据显示前500系统中的485个系统都在运行着 Linux 的发布系统,而仅仅只有一台运行着 Wi ...

  6. Linux curl使用简单介绍

    在两台新搬迁的微信服务器上执行命令: curl -H "Content-Type: application/json" -d '{"partner_no":&q ...

  7. [转]Linux下的图形库介绍

    [转]Linux 下的图形库介绍 http://blog.csdn.net/gogor/article/details/5925925 在进行Linux下的图形系统编程时,我们常常会遇到以下这些概念: ...

  8. Linux文件 I/O 介绍

    Linux文件 I/O 介绍 1. Linux系统调用 Linux系统调用(system call)是指操作系统提供给用户程序的一组"特殊接口",用户程序可以通过这组"特 ...

  9. Linux主要发行版本介绍

    Linux主要发行版本介绍 1.Red Hat Linux Red Hat是一个比较成熟的Linux版本,无论在销售还是装机量上都比较可观.该版本从4.0开始同时支持Intel.Alpha及Sparc ...

随机推荐

  1. solr的一些查询语法

    以下内容来自solr中国 1.1. 首先假设我的数据里fields有:name, tel, address 预设的搜寻是name这个字段, 如果要搜寻的数据刚好就是 name 这个字段,就不需要指定搜 ...

  2. alert(1) to win 6

    function escape(s) { // Slightly too lazy to make two input fields. // Pass in something like " ...

  3. thinkphp数据库连接

    https://www.kancloud.cn/manual/thinkphp5/118059 一.配置文件定义 常用的配置方式是在应用目录或者模块目录下面的database.php中添加下面的配置参 ...

  4. Redis使用场景一,查询出的数据保存到Redis中,下次查询的时候直接从Redis中拿到数据。不用和数据库进行交互。

    maven使用: <!--redis jar包--> <dependency> <groupId>redis.clients</groupId> < ...

  5. 容易混淆的JavaScript基础知识之语法部分

    type 属性: 默认的 type 就是 javascript, 所以不必显式指定 type 为 javascript javascript 不强制在每个语句结尾加 “:” , javascript ...

  6. BeautifulSoup笔记

    ## find_all的使用: 1. 在提取标签的时候,第一个参数是标签的名字.然后如果在提取标签的时候想要使用标签属性进行过滤,那么可以在这个方法中通过关键字参数的形式,将属性的名字以及对应的值传进 ...

  7. (转)GIS理论知识(三)之ArcGIS平台、SuperMap超图平台和开源平台

    3.1.ArcGIS平台 ArcGIS为美国ESRI公司研发的产品,为用户提供一个可伸缩的,全面的GIS平台.ArcObjects包含了许多的可编程组件,从细粒度的对象(例如单个的几何对象)到粗粒度的 ...

  8. (转)基于TLS证书手动部署kubernetes集群(下)

    转:https://www.cnblogs.com/wdliu/p/9152347.html 一.master节点组件部署 承接上篇文章--基于TLS证书手动部署kubernetes集群(上),我们已 ...

  9. loj#2391 「JOISC 2017 Day 1」港口设施

    分析 https://yhx-12243.github.io/OI-transit/records/uoj356%3Bloj2391%3Bac2534.html 代码 #include<bits ...

  10. ajax跨域处理 No 'Access-Control-Allow-Origin' header is present on the requested resource 问题

    Controller层的类上增加@CrossOrign注解,当前文件的所有接口就都可以被调用 spring注解@CrossOrigin不起作用的原因 1.是springMVC的版本要在4.2或以上版本 ...