迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 操作系统 >

在 Linux 中添加新用户的 Bash 脚本

作者:迹忆客 最近更新:2023/05/19 浏览次数:

这篇简短的文章是关于创建一个 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 命令后,我们将使用 $? 值并向用户显示适当的消息。

输出:

useradd 命令的 bash 脚本的输出

上一篇:在 Bash 中获取当前日期和时间

下一篇:没有了

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

Bash 脚本中的变量插值

发布时间:2023/05/18 浏览次数:79 分类:操作系统

本文是关于在 Bash 脚本中使用变量以及如何在 Bash 脚本中插入这些变量。Bash 脚本中的变量。每种编程语言都有具有特定数据类型的变量。

在 Bash 脚本中执行变量中的命令

发布时间:2023/05/18 浏览次数:108 分类:操作系统

本篇文章是关于将 Bash 命令存储在一个变量中,然后直接从这个变量中执行它。 首先,我们将讨论执行变量中包含的命令的多种方法,然后是几个脚本示例。

在 Bash 脚本中运行 GDB

发布时间:2023/03/17 浏览次数:105 分类:编程语言

本教程演示了如何在 bash 脚本中运行 gdb,该脚本带有一个接受命令行参数的二进制文件。

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便