在 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 脚本中的变量插值
发布时间:2023/05/18 浏览次数:79 分类:操作系统
-
本文是关于在 Bash 脚本中使用变量以及如何在 Bash 脚本中插入这些变量。Bash 脚本中的变量。每种编程语言都有具有特定数据类型的变量。
在 Bash 脚本中执行变量中的命令
发布时间:2023/05/18 浏览次数:108 分类:操作系统
-
本篇文章是关于将 Bash 命令存储在一个变量中,然后直接从这个变量中执行它。 首先,我们将讨论执行变量中包含的命令的多种方法,然后是几个脚本示例。