Centos6.9安装vsftpd并配置多用户的方法
程序员文章站
2022-06-13 14:48:33
本文介绍了centos6.9安装vsftpd并配置多用户的方法,分享给大家,具体如下:
一、安装vsftpd
#安装vsftpd
yum -y install...
本文介绍了centos6.9安装vsftpd并配置多用户的方法,分享给大家,具体如下:
一、安装vsftpd
#安装vsftpd yum -y install vsftpd #设置开机启动 chkconfig vsftpd on #查看服务状态 service vsftpd status #默认是关闭的,如下 # vsftpd is stopped
二、修改系统保留ftp
#添加组 groupadd -g 1002 vsftpd #创建用户组目录 mkdir -p /home/vsftpd #添加用户 useradd -c "ftp user" -d /home/vsftpd/vsftpd -g vsftpd -s /sbin/nologin -u 1002 vsftpd useradd -c "ftp user" -d /home/vsftpd/test -g vsftpd -s /sbin/nologin test #设置密码(格式:passswd 用户名),输入密码回车,再次输入密码回车 passwd vsftpd #创建指定访问目录 mkdir -p /data/vsftpd #更改权限 chown vsftpd:vsftpd /data/vsftpd chmod -r 775 /data/vsftpd
可以查看添加进来的新用户
cat /etc/passwd #如下 # vsftpd:x:1002:1002:ftp user:/home/vsftpd/vsftpd:/sbin/nologin # test:x:1003:1002:ftp user:/home/vsftpd/test:/sbin/nologin
说下/bin/false跟/sbin/nologin的区别
1、/bin/false什么也不做只是返回一个错误状态,然后立即退出。将用户的shell设置为/bin/false,用户会无法登录,并且不会有任何提示。
2、/sbin/nologin会礼貌的向用户显示一条信息,并拒绝用户登录:this account is currently not available.
3、有一些软件,比如一些ftp服务器软件,对于本地非虚拟账户,只有用户有有效的shell才能使用ftp服务。这时候就可以使用/sbin/nologin使用户即不能登录系统,还能使用一些系统服务,比如ftp服务。/bin/false则不行,这是二者的重要区别之一
三、修改配置文件
#备份原文件 mv /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.txt #生成新的配置文件 touch /etc/vsftpd/vsftpd.conf #编辑配置文件 vim /etc/vsftpd/vsftpd.conf
粘贴下面这些配置进去
# example config file /etc/vsftpd/vsftpd.conf # # 如果vsftpd处于独立模式,则这是它将侦听传入ftp连接的端口。 listen_port=21 # # 登入目录 local_root=/data/vsftpd # # 是否允许匿名用户登录 anonymous_enable=no # # 设定本地用户可以访问。注:如使用虚拟宿主用户,在该项目设定为no的情况下所有虚拟用户将无法访问 local_enable=yes # # 设定允许进行写操作(上传、删除),默认为yes write_enable=yes # # 是否使用本地时间 #use_localtime=yes # # 此参数在vsftpd使用单独(standalone)模式下有效。此参数定义了ftp服务器最大的并发连接数,当超过此连接数时,服务器拒绝客户端连接。默认值:0(无限制)。 #max_clients=5 # # 此参数在vsftpd使用单独(standalone)模式下有效。此参数定义每个ip地址最大的并发连接数目。超过这个数目将会拒绝连接。此选项的设置将影响到象网际快车这类的多进程下载软件。默认值为0,表示不限制。 #max_per_ip=3 # # 掩饰码 local_umask=002 # # 是否允许匿名ftp用户上传文件。 #anon_upload_enable=no # # 是否允许匿名ftp用户能够创建新目录 #anon_mkdir_write_enable=no # # 激活目录消息 - 当远程用户进入某个目录时发送的消息。 dirmessage_enable=yes # # 设置为yes时,用户上传和下载文件都会被记录下来,记录文件位置与xferlog_file=/var/log/vsftpd/xferlog xferlog_enable=yes # # 在vsftpd_log_file和xferlog_file文件之间切换登录文件信息,no 写入 vsftpd_log_file, yes 写入 xferlog_file xferlog_std_format=yes # # 设置另外一个vsftpd的日记文件,也可以不设置 dual_log_enable=yes xferlog_file=/var/log/vsftpd/xferlog # # 设置日志目录 vsftpd_log_file=/var/log/vsftpd/vsftpd.log # # 端口样式连接始发的端口(只要名称不正确的 connect_from_port_20 启用),默认值:20 connect_from_port_20=yes # # 是否修改匿名用户所上传文件的所有权。yes,匿名用户所上传的文件的所有权将改为另外一个不同的用户所有,用户由chown_username参数指定。此选项默认值为no。 #chown_uploads=yes # # 指定拥有匿名用户上传文件所有权的用户 #chown_username=whoever # # 远程客户端建立与pasv样式数据连接的连接的超时(以秒为单位),默认值:60。 #accept_timeout=60 # # 远程客户端响应我们的端口样式数据连接的超时时间(秒)。默认值:60。 #connect_timeout=60 # # 远程客户端可能在ftp命令之间花费的最长时间(以秒为单位)。如果超时触发,远程客户端将被启动。默认值:300 #idle_session_timeout=300 # # 超时时间(以秒为单位),大概是允许数据传输停止而无进度的最大时间。如果超时触发,远程客户端将被启动。默认值:300 #data_connection_timeout=300 # # 创建上传文件的权限。umasks应用于此值的顶部。如果要上传的文件可执行,您可能希望更改为0777。默认值:0666 #file_open_mode=002 # # 本地认证用户允许的最大数据传输速率(以字节为单位)。默认值:0(无限制) #local_max_rate=0 # # 建议您在系统上定义一个唯一的用户,ftp服务器可以用作完全独立且无特权的用户。 #nopriv_user=ftpsecure # # 是否启动异步传输功能 #async_abor_enable=yes # # 是否启用ascii功能 ascii_upload_enable=yes ascii_download_enable=yes # # 自定义登录显示的字符串 #ftpd_banner=welcome to blah ftp service. # # 指定某个纯文本作为用户登录时显示的欢迎字眼,也可以放置一些让用户知道本ftp服务器的目录架构 #banner_file=/etc/vsftpd/welcome.txt # # 您可以指定一个不允许的匿名电子邮件地址的文件。 显然有助于打击某些dos攻击。 #deny_email_enable=yes # (default follows) #banned_email_file=/etc/vsftpd/banned_emails # # 锁定某些用户在自家目录中。即当这些用户登录后,不可以转到系统的其他目录,只能在自家目录(及其子目录)下。 # 当chroot_local_user=yes,chroot_list_enable=yes时,chroot_list_file目录里面的用户不被chroot在主目录中。 # 当chroot_local_user=yes,chroot_list_enable=no时,chroot_list_file目录里面的用户全部给被chroot在主目录中 chroot_local_user=yes chroot_list_enable=yes # (default follows) chroot_list_file=/etc/vsftpd/chroot_list # # 此选项默认值为no , 此时ftpusers 文件中的用户禁止登录ftp 服务器;若此项设为yes ,则 user_list 文件中的用户允许登录 ftp 服务器,而如果同时设置了 userlist_deny=yes ,则 user_list 文件中的用户将不允许登录ftp 服务器,甚至连输入密码提示信息都没有,直接被ftp服务器拒绝 userlist_enable=yes # # 此项默认为yes ,设置是否阻扯user_list 文件中的用户登录ftp 服务器,设置为no时只允许user_list 当中的用户使用ftp,对于后新建的用户起到屏蔽作用,如果想要使用ftp则必须加入这个列表文件中 userlist_deny=no # # 当userlist_enable=yes,当userlist_deny=yes,这里面的用户不能登录,当userlist_deny=no时,只有这里面的用户才能登录ftp 。 userlist_file=/etc/vsftpd/user_list # # 当启用“listen”指令时,vsftpd以独立模式运行,并在ipv4套接字上侦听。 该指令不能与listen_ipv6指令一起使用。 listen=yes # # 此指令允许侦听ipv6套接字。 要监听ipv4和ipv6套接字,您必须运行两个vsftpd副本和两个配置文件。请确保其中一个listen选项被注释! #listen_ipv6=yes # # 设置 pam 外挂模块提供的认证服务所使用的配置文件名 ,即/etc/pam.d/vsftpd 文件 pam_service_name=vsftpd # # 是否开启用虚拟用户功能 #guest_enable=yes # # 指定虚拟用户的宿主用户,centos中已经有内置的ftp用户了 #guest_username=ftp # # 匿名客户端允许的最大数据传输速率(以字节为单位)。默认值:0(无限制) #anon_max_rate=0 # # 为匿名用户设置文件创建的umask的值。注意!如果要指定八进制值,请记住“0”前缀,否则该值将被视为基数10整数!默认值:077 #anon_umask=002 # # 设定虚拟用户个人vsftp的centos ftp服务文件存放路径。存放虚拟用户个性的centos ftp服务文件(配置文件名=虚拟用户名) #user_config_dir=/etc/vsftpd/virtual_conf # # 如果要禁止pasv方法获取数据连接,请设置为no。 pasv_enable=yes # # 设定在pasv模式下,建立数据传输所可以使用port范围的下界和上界,0 表示任意。默认值为0。把端口范围设在比较高的一段范围内 pasv_min_port=20000 pasv_max_port=30000 # # 默认值为no。为yes时,将关闭pasv模式的安全检查。该检查确保数据连接和控制连接是来自同一个ip地址。小心打开此选项。此选项唯一合理的用法是存在于由安全隧道方案构成的组织中。 #pasv_promiscuous=yes # # 如果您不想使用port方法获取数据连接,则设置为no。 #port_enable=yes # # 默认值为no。如果要禁用port安全检查,确保传出数据连接只能连接到客户端,请设置为yes。 #port_promiscuous=yes # # 表明服务器使用 tcp_wrappers 作为主机访问控制方式,tcp_wrappers 可以实现linux 系统中网络服务的基于主机地址的访问控制,在/etc 目录中的hosts.allow 和hosts.deny 两个文件用于设置tcp_wrappers 的访问控制,前者设置允许访问记录,后者设置拒绝访问记录。例如想限制某些主机对ftp 服务器12.36.126.141 的匿名访问,编缉/etc/hosts.allow 文件,如在下面增加两行命令:vsftpd:192.168.2.1:deny 和vsftpd:192.168.2.20:deny 表明限制ip 为192.168.2.1/192.168.2.20 主机访问ip 为12.36.126.141 的ftp 服务器,此时ftp 服务器虽可以ping 通,但无法连接 tcp_wrappers=yes #
四、设置ftp用户信息
#建立限制用户访问目录的空文件 touch /etc/vsftpd/chroot_list #添加ftp用户进来 vim /etc/vsftpd/user_list #注释掉上面的用户,在后面加上 vsftpd test #创建日志文件 mkdir -p /var/log/vsftpd touch /var/log/vsftpd/xferlog touch /var/log/vsftpd/vsftpd.log
五、开启防火墙20000到30000端口
# 查看防火墙是否有端口,有就退出编辑,没有就执行下句 vim /etc/sysconfig/iptables #添加端口 iptables -a input -p tcp -m state --state new -m tcp --dport 20000:30000 -j accept #保存 /etc/init.d/iptables save #另外需要注意,如果是阿里云的,还需要登录阿里云在安全组里面添加入方向规则 #重启iptables 服务 service iptables restart
六、重启vsftpd服务
#停止vsftpd 服务 service vsftpd stop #启动vsftpd 服务 service vsftpd start #重启vsftpd 服务 service vsftpd restart 可以查看ftp端口是否已经给占用,一般情况下是21端口 netstat -lnp|grep 21
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
推荐阅读
-
安装mysql 8.0.17并配置远程访问的方法
-
CentOS7安装Nginx并配置自动启动的方法步骤
-
安装ElasticSearch搜索工具并配置Python驱动的方法
-
ubuntu安装sublime3并配置python3环境的方法
-
Ubuntu下安装并配置VS Code编译C++的方法
-
docker安装nginx并配置通过https访问的方法
-
Ubuntu安装MySQL5.7并配置数据存储路径的方法步骤
-
Centos7.3 安装部署Nginx并配置https的方法步骤
-
安装Jupyter Notebook并配置用于多用户的反向代理(Nginx)
-
在Ubuntu中安装并配置Pycharm教程的实现方法