侧边栏壁纸
博主头像
伯淳的个人博客博主等级

行动起来,活在当下

  • 累计撰写 35 篇文章
  • 累计创建 5 个标签
  • 累计收到 0 条评论

目 录CONTENT

文章目录

Linux账号管理(2)

Administrator
2023-10-19 / 0 评论 / 1 点赞 / 24 阅读 / 4002 字

Linux主机上的用户信息传递

1.查询用户

①查询目前已登录在系统的账号

wwho

②查询账号最近登录的时间

lastlastlog

③显示当前登录的所有用户名列表

users

④/var/log/auth.log 文件

在大多数Linux发行版中,所有的认证日志都记录在 /var/log/auth.log。通过监控这个文件,可以看到登录活动和其他与认证相关的事件。

2.用户交流

①单一用户交流

write 使用者账号 [使用者所在终端界面]

输入完毕时,按下[ctrl]+d结束输入

如若不想接收信息(root的消息无法阻隔),可通过mesg n 关闭,mesg y 打开。

②对系统上的用户发送广播

wall "广播内容"

3.用户邮箱

①发送邮箱

mail -s "邮件标题" 接收用户

输入完毕时,最后一行输入小数点(.),按下enter即可。

为避免邮件内容输错,可提前用vim编写好内容,利用数据流重定向<即可,如:

mail -s "nice to meet you" vbird1 < filename

②查看邮箱

mail

CentOS 7环境下大量创建账号的方法

1.账号相关的检查工具

  • pwck

  • pwconv

  • pwunconv

以上三个可通过man 查询

  • chpasswd

读入未加密前的密码,并且经过加密后,写入/etc/passwd,这个命令在大量创建此账号时经常被使用。它可以由标准输入流读入数据,每条数据的格式是【username:password】。

例如:

echo "vbird3:abcdefg" | chpasswd

2.大量创建账号模版(适用passwd --stdin选项)

[root@study ~]# vim accountadd.sh
#!/bin/bash
# This shell script will create amount of linux login accounts for you.
# 1. check the "accountadd.txt" file exist? you must create that file manually.
#    one account name one line in the "accountadd.txt" file.
# 2. use openssl to create users password.
# 3. User must change his password in his first login.
# 4. more options check the following url:
# http://linux.vbird.org/linux_basic/0410accountmanager.php#manual_amount
# 2015/07/22    VBird
export PATH=/bin:/sbin:/usr/bin:/usr/sbin

# 0. userinput
usergroup=""                   # 这里可自行修改为自定义组
pwmech="openssl"               # "openssl" or "account" is needed.
homeperm="no"                  # if "yes" then I will modify home dir permission to 711

# 1. check the accountadd.txt file
action="${1}"                  # "create" is useradd and "delete" is userdel.
if [ ! -f accountadd.txt ]; then
	echo "There is no accountadd.txt file, stop here."
        exit 1
fi

[ "${usergroup}" != "" ] && groupadd -r ${usergroup}
rm -f outputpw.txt
usernames=$(cat accountadd.txt)

for username in ${usernames}
do
    case ${action} in
        "create")
            [ "${usergroup}" != "" ] && usegrp=" -G ${usergroup} " || usegrp=""
            useradd ${usegrp} ${username}               # 新增账号
            [ "${pwmech}" == "openssl" ] && usepw=$(openssl rand -base64 6) || usepw=${username}
            echo ${usepw} | passwd --stdin ${username}  # 建立密码
            chage -d 0 ${username}                      # 强制登入修改密码
            [ "${homeperm}" == "yes" ] && chmod 711 /home/${username}
	    echo "username=${username}, password=${usepw}" >> outputpw.txt
            ;;
        "delete")
            echo "deleting ${username}"
            userdel -r ${username}
            ;;
        *)
            echo "Usage: $0 [create|delete]"
            ;;
    esac
done

1

评论区