vsftpd用户禁止ssh登陆的实现方法

前言

vsftp 是一款使用方便,且安全的ftp服务器端的软件。可以使用系统用户登陆,也可以使用虚拟用户登陆,进行登陆。 如果使用系统用户登陆的时候,默认情况,该用户可以登陆到系统中。意思是,可以登陆ftp服务器,也可以登陆到系统的。这样有时候是不安全的,因为登陆系统,就可以看到很多文件。

创建一个系统账号,仅仅让该账号登陆ftp

第一: 在文件 /etc/bash 中添加 /bin/false

cat /etc/shells
/bin/sh
/bin/bash
/usr/bin/sh
/usr/bin/bash
/bin/false

第二: 指定用户(zhangsan)使用 /bin/false

usermod -s /bin/false zhangsan

经过两步设置后就可以让用户仅仅只能是用 ftp服务器,并禁止用登陆系统。

备注

  • /bin/false 和 /sbin/nologin是有所不同的。共同的部分是,用户都无法登陆系统。方式可能不同。centos7环境下试了 /bin/fase登陆的时候无提示,直接退出。
  • 之前配置ftp的时候,只用使用 /sbin/nologin ,似乎就可以实现想要的效果,现在则需要用 /bin/false 来解决。

可能的原因

如果之前确实可以用 /sbin/nologin 实现,系统用户仅仅可以登陆ftp, 那我现在环境不行,说明这个和系统设置和vsftp的配置有关系。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对我们的支持。

(0)

相关推荐

  • VSFTPD配置(匿名——本地用户——虚拟用户)

    1,下载VSFTPD.TAR.GZ 程序下载地址:ftp://vsftpd.beasts.org/users/cevans/ 2,检查和建立相应账户和目录 1,nobody用户 [root@main vsftpd-2.1.0]# cat /etc/passwd |grep nobody nobody:x:99:99:Nobody:/:/sbin/nologin 如不存在请建立相关账户. 2,/usr/share/empty 目录, 如不存在请创建 3,如允许匿名访问,需创建Ftp用户,家目录为/

  • 建立基于虚拟用户的VSftpd服务

    上一篇文章给大家介绍了Linux中搭建FTP服务器的方法,说了vsftpd的基本配置,也就是匿名和本地,这回来说一下配置虚拟用户使用vsftpd,下面是具体步骤: 一.建立虚拟用户口令文件 可以使用vi命令创建一个用户口令文件,该文件是一个文本文件,其中奇数行为用户,偶数行为用户密码,文件名可以任意,如我建立一个名为login.txt的文件文件里的内容为: a abc123~ b abc123~ 其中a和b为用户,abc123~为用户的密码. 二.生成vsftpd口令认证文件 建立虚拟用户口令文

  • vsftpd匿名用户上传和下载的配置方法

    看到很多朋友配置vsftpd时不能使用匿名用户上传和下载(创建目录或删除.重命名文件夹),本文主要解决vsftpd的匿名用户权限配制问题. 配置要注意三部分,请一一仔细对照: 1.vsftpd.conf文件的配置(vi /etc/vsftpd/vsftpd.conf) #允许匿名用户登录FTP anonymous_enable=YES #打开匿名用户的上传权限 anon_upload_enable=YES #打开匿名用户创建目录的权限 anon_mkdir_write_enable=YES #打

  • Linux编译安装vsftpd服务器(本地用户验证方式)

    Linux vsftpd编译安装和配置允许本地用户登录FTP 1.下载vsftpd源码 wget https://security.appspot.com/downloads/vsftpd-2.3.4.tar.gz 2.编译vsftpd源码 64位的系统编译之前先要执行cp /lib64/libcap.so.1 /lib/libcap.so.1命令: 复制代码 代码如下: tar xzvf vsftpd-2.3.4.tar.gz cd vsftpd-2.3.4 make make install

  • vsftpd 虚拟用户配置步骤

    yum -y install vsftpd*yum -y install db4*============================================================================先建立一个包含虚拟用户名及其口令的文本文件 , 然后在此基础上生成虚拟用户口令库文件 :#vim logins.txt 添加以下信息 ( 单数行为用户名 , 偶数行为口令 ) : 123     // 用户名 456     // 密码 :wq        //

  • 构建基于虚拟用户的vsftpd服务器应用

    安装: [root@server ~]# yum install -y vsftpd [root@server ~]# rpm -ql vsftpd /etc/logrotate.d/vsftpd /etc/pam.d/vsftpd /etc/rc.d/init.d/vsftpd /etc/vsftpd /etc/vsftpd/ftpusers /etc/vsftpd/user_list /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd_conf_migrat

  • Centos6.9安装vsftpd并配置多用户的方法

    本文介绍了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 #添

  • 用shell脚本防ssh和vsftpd暴力破解的详解讲解

    脚本需求如下:此SHELL脚本放在crontab计划任务里,每隔6小时(此时间根据实际情况来定义)就去读取/var/log/secure脚本,取出里面恶意猜测IP,如果单位时间内(一星期)的连接数是高于一个阀值,例如100(此阀值也可以根据实际情况来定义),则将其加进/etc/hosts.deny黑名单里,如果低于此阀值,则无视此IP. /var/log/secure里认证失败信息如下: 复制代码 代码如下: Nov 28 10:18:08 centos2 sshd[7556]: Connect

  • centos 6 安装vsftpd与PAM虚拟用户的方法

    使用yum 安装vsftp yum install vsftpd pam pam-* db4 db4-* 创建一个保存用户及密码的文件 cd /etc/vsftpd/ touch vuser_passwd.txt 添加用户(奇行用户,偶行密码) vim vuser_passwd.txt tom DSfaoewLD3 ken GetpOIIofd324DLJhg 将文本内的帐号及密码添加到db4的数据库文件内 db_load -T -t hash -f /etc/vsftpd/vuser_pass

  • vsftpd用户禁止ssh登陆的实现方法

    前言 vsftp 是一款使用方便,且安全的ftp服务器端的软件.可以使用系统用户登陆,也可以使用虚拟用户登陆,进行登陆. 如果使用系统用户登陆的时候,默认情况,该用户可以登陆到系统中.意思是,可以登陆ftp服务器,也可以登陆到系统的.这样有时候是不安全的,因为登陆系统,就可以看到很多文件. 创建一个系统账号,仅仅让该账号登陆ftp 第一: 在文件 /etc/bash 中添加 /bin/false cat /etc/shells /bin/sh /bin/bash /usr/bin/sh /usr

  • linux远程登录ssh免密码配置方法

    一.情景 公司刚上几台Linux,现在要把主机之间都能远程ssh免密码登陆. 二.原理 很简单,使用ssh-keygen 在主机A上生成private和public密钥,将生成的public密钥拷贝到远程机器主机B上后,就可以使用ssh命令无需密码登录到另外一台机器主机B上. 三.步骤 主机A: 1. 生成公钥和私钥文件id_rsa和id_rsa.pub (敲3下回车即可) [root@bogon ~]# ssh-keygen -t rsa Generating public/private r

  • Centos7下用户登录失败N次后锁定用户禁止登陆的方法

    前言 针对linux上的用户,如果用户连续3次登录失败,就锁定该用户,几分钟后该用户再自动解锁.Linux有一个pam_tally2.so的PAM模块,来限定用户的登录失败次数,如果次数达到设置的阈值,则锁定用户. PAM的配置文件介绍 PAM配置文件有两种写法: 一种是写在/etc/pam.conf文件中,但centos6之后的系统中,这个文件就没有了. 另一种写法是,将PAM配置文件放到/etc/pam.d/目录下,其规则内容都是不包含 service 部分的,即不包含服务名称,而/etc/

  • Linux禁止普通用户su至root的解决方法

    一.概述 为禁止普通用户su至root,需要分别修改/etc/pam.d/su和/etc/login.defs两个配置文件. 二.详细配置 (1)去除/etc/pam.d/su文件中如下行的注释: #auth required pam_wheel.so use_uid (2)在/etc/login.defs文件中加入如下配置项: SU_WHEEL_ONLY yes 经过上述配置后,普通用户将被禁止su至root,如果希望指定普通用户su至root,可以执行如下命令将该用户添加至wheel组中:

  • js+php实现静态页面实时调用用户登陆状态的方法

    本文实例讲述了js+php实现静态页面实时调用用户登陆状态的方法.分享给大家供大家参考.具体分析如下: 在程序开发中,经常会把页面做成html的静态形式,这样可以减轻服务器负载,但是也存在一个问题就是当注册用户登陆时,要在html页面显示登陆成功或需要登陆的提示,这样我们就必须想其它办法来实现了,下面我们就是利用js+php来实例的,当然还有ajax也可以实现,代码如下: 复制代码 代码如下: <!doctype html public "-//w3c//dtd xhtml 1.0 tra

  • Laravel 已登陆用户再次查看登陆页面的自动跳转设置方法

    Laravel中,如果用户已经登陆,那么若其再打开登陆页面,那么会默认自动跳转至/home路径. 要更改这个默认设置,请打开app/Http/Middleware/RedirectIfAuthenticated.php: <?php namespace App\Http\Middleware; use Closure; use Illuminate\Support\Facades\Auth; class RedirectIfAuthenticated { /** * Handle an inco

  • linux系统下的ssh登录和配置方法

    一 ssh的两种登录方式 1密码登录: [root@westos Desktop]# ssh root@192.168.122.26 Address 192.168.122.26 maps to bogon, but this does not map back to the address - POSSIBLE BREAK-IN ATTEMPT! root@192.168.122.26's password: Last login: Tue Jan 17 13:27:29 2017 from

  • CentOS新建用户并使能密钥登录的方法

    CentOS 默认只有一个 root 用户,但是 root 用户的权限过大,而且不利于多人协作,基于权限管理和安全的原因,我们为系统新建一个用户,并且使能其 SSH 登录,同时禁止 root 用户的登录: 基于CentOS Linux release 7.6.1810 (Core)实践: 新建用户 在 CentOS 中,adduser和useradd没有区别: [root@centos_7_6_1810 ~]# ll /usr/sbin/ | grep user lrwxrwxrwx 1 roo

  • 使用ssh-keygen,实现免密码登陆linux的方法

    1  本机创建ssh密钥 ssh-keygen 2  拷贝公共密钥到"被登陆机"输入密码, scp  id_rsa.pub  root@10.35.0.35:~/.ssh/id_rsa.pub 3  ssh到"被登陆机"把公共密钥输入 "authorized_keys"(如果多个机器都需要使用rsa密钥认证登录此机器的话,将这些机器产生的公钥全部输入到)"authorized_keys" cat  id_rsa.pub >

  • 详解Ubuntu14.04桥接网络设置与SSH登陆

    操作系统:Unbuntu14.04 虚拟机:VMware10 一.网络设置 1.设置vmware Bridge Protocol 本地链接->属性->vmware Bridge Protocol打钩 2.然后主机设定静态ip(如果已设置好了的不用管) 3.vmware 设置 编辑->虚拟网络编辑器 4.Ununtu设置 确认关闭,接下来设定ubuntu的IP和DNS ,终端:(Alt+Ctrl+T打开 ) sudo vi /etc/network/interfaces 然后输入以下内容:

随机推荐