在 Linux 中添加新用户的 Bash 脚本
这篇简短的文章是关于创建一个 Bash 脚本,该脚本可以自动为 Linux 操作系统添加用户和分配密码。 在 Linux 操作系统中,useradd 命令用于添加新用户并为他们提供密码。
Bash 脚本 useradd 命令
一个用于添加用户的简单实用程序是 useradd。 Debian 的管理员通常应该改用 adduser。
调用不带 -D 选项的 useradd 命令会根据在命令行中输入的值和系统默认值创建一个新的用户帐户。 useradd 命令更新系统文件,并可能根据命令行选项执行其他任务。
此外,为新用户创建主目录并复制初始文件。
用于添加用户的 Bash 脚本
在Linux操作系统中,我们需要成为 root 用户才能为系统添加新用户。 因此,在脚本中,我们首先需要验证运行脚本的用户是否为root用户。
之后,我们可以从用户那里获取输入的用户名和密码,然后运行 useradd
命令。 让我们看看下面的脚本。
Bash 脚本:
#!/bin/bash
if [ $(id -u) -eq 0 ]; then
read -p "Enter your username : " user_name
read -s -p "Enter your password : " pass
egrep "^$user_name" /etc/passwd >/dev/null
if [ $? -eq 0 ]; then
echo "$user_name exists!"
exit 1
else
epass=$(perl -e 'print crypt($ARGV[0], "pass")' $pass)
useradd -m -p "$epass" "$user_name"
[ $? -eq 0 ] && echo "Successfully added User!" || echo "Sorry! User not added"
fi
else
echo "Sorry! You are not authorized to add users."
exit 2
fi
从用户那里读取用户名和密码后,我们首先使用 egrep
命令搜索具有给定用户名的用户是否已经存在。 如果在 /etc/passwd 文件中找到用户条目,则表示该用户已存在。
否则不行,我们将使用 perl 命令加密密码。 perl 命令将显示带有加密密码的屏幕。
Perl 中的 crypt()
函数采用单向加密算法,一旦密码被加密就无法解密。 获取用户的密码字符串,用salt加密,然后显示在电脑屏幕上。
运行 useradd 命令后,我们将使用 $? 值并向用户显示适当的消息。
输出:
相关文章
Bash 脚本中的 eval 命令
发布时间:2023/06/11 浏览次数:382 分类:操作系统
-
本文是关于在 Bash 脚本中使用字符串作为命令的。 为此,使用了 eval 命令。Bash 脚本中的 Eval 命令 在某些 Bash 脚本中,您必须使用变量或输入值(例如)创建一个字符串,并在最后将其作为命
退出 Bash 脚本
发布时间:2023/06/11 浏览次数:266 分类:操作系统
-
本文简要介绍 Bash 脚本,并讨论在出现错误时退出 Bash 脚本。 它进一步讨论了 Bash 脚本的局限性和好处。什么是 Bash 脚本 计算机脚本/程序告诉计算机做什么和说什么。
Bash 脚本中的 Echo Tab 字符
发布时间:2023/06/11 浏览次数:247 分类:操作系统
-
本文演示了如何回显特殊字符(例如制表符),否则这些字符会在 Bash 脚本中转换为单个空格字符。 这扩展到 Bash 以外的 shell(例如 zsh)。
在另一个 Bash 脚本中包含脚本文件
发布时间:2023/06/09 浏览次数:95 分类:操作系统
-
本文讨论了将一个 Bash 脚本文件包含到另一个脚本文件中的不同方法。在 Bash 脚本中包含文件 在 Bash 中包含或重用脚本非常简单。
在 Bash 中根据文件的第二列对数据进行排序
发布时间:2023/05/20 浏览次数:177 分类:操作系统
-
本文介绍了如何在 bash 中根据文件的第二列对数据进行排序。Bash 中的排序命令概述 使用 sort 命令对文件进行排序,该命令按特定顺序放置记录。
检查 Bash 中是否存在命令
发布时间:2023/05/20 浏览次数:128 分类:操作系统
-
我们可以在 Bash 中使用不同的内置命令来检查命令是否存在。 下面演示了这些命令的使用。使用命令 -v 命令检查 Bash 中是否存在命令 命令 -v 是所有 POSIX 系统和 Bash 中的内置函数。
Bash 脚本中的变量插值
发布时间:2023/05/18 浏览次数:105 分类:操作系统
-
本文是关于在 Bash 脚本中使用变量以及如何在 Bash 脚本中插入这些变量。Bash 脚本中的变量。每种编程语言都有具有特定数据类型的变量。
在 Bash 脚本中执行变量中的命令
发布时间:2023/05/18 浏览次数:154 分类:操作系统
-
本篇文章是关于将 Bash 命令存储在一个变量中,然后直接从这个变量中执行它。 首先,我们将讨论执行变量中包含的命令的多种方法,然后是几个脚本示例。