FTP 用户无法登录

FTP 用户无法登录

我编写了一个 shell 脚本,用于添加用户:

useradd $1 --password $2 --create-home --shell /bin/false --system

此用户应仅登录 FTP,而不应登录 SSH 或其他任何内容。但问题是,目前此用户既不能登录 FTP,也不能登录 SSH。我添加了/bin/false/etc/shells

答案1

您尝试使用 /bin/false 登录,然后... 什么都没有。是因为 false 代表“...除了返回退出状态 1(表示失败)外不执行任何操作。”(虚假的调用

首先,我认为你已经安装了vsftpd包裹。

创建用户帐户以便能够登录 FTP 服务器而不是登录 SSH 或其他任何东西的方法应该是(在 Ubuntu 中):

# useradd -m user -s /usr/sbin/nologin

# passwd user

然后将这一行添加到/etc/shells文件

/usr/sbin/nologin

ubuntu ftp服务器安装与配置

在脚本中根据您的需要进行调整。

要完成答案,请按照适合您需求的脚本进行操作(原始脚本可以找到这里

#!/bin/bash
# Script to add a user to Linux system
if [ $(id -u) -eq 0 ]; then
    read -p "Enter username : " username
    read -s -p "Enter password : " password
    egrep "^$username" /etc/passwd >/dev/null
    if [ $? -eq 0 ]; then
        echo "$username exists!"
        exit 1
    else
        pass=$(perl -e 'print crypt($ARGV[0], "password")' $password)
        useradd -m --shell /usr/sbin/nologin --system -p $pass $username
        [ $? -eq 0 ] && echo "User has been added to system!" || echo "Failed to add a user!"
    fi
else
    echo "Only root may add a user to the system"
    exit 2
fi

保存为“adduser.txt”

然后

$ chmod 755 adduser.txt

$ sudo bash ./adduser.txt

会要求你输入用户名密码

控制是否创建用户(用户名:用户)

$ cat /etc/passwd | grep 用户

然后您只需使用新用户登录 FTP。

附言:抱歉我的英语不太好。

相关内容