Linux主机上的用户信息传递
1.查询用户
①查询目前已登录在系统的账号
w
或who
②查询账号最近登录的时间
last
或lastlog
③显示当前登录的所有用户名列表
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
评论区