如何创建一个新的系统用户,另一个用户的精确副本(具有相同的组、权限、特权和设置),但具有不同的用户名、密码和主目录?
小智 18
这个脚本会做到这一点(根据评论更新):
#!/bin/bash
SRC=$1
DEST=$2
SRC_GROUPS=$(id -Gn ${SRC} | sed "s/ /,/g" | sed -r 's/\<'${SRC}'\>\b,?//g')
SRC_SHELL=$(awk -F : -v name=${SRC} '(name == $1) { print $7 }' /etc/passwd)
sudo useradd --groups ${SRC_GROUPS} --shell ${SRC_SHELL} --create-home ${DEST}
sudo passwd ${DEST}
Run Code Online (Sandbox Code Playgroud)
它获取源用户的组(不包括与其登录名相同的组)和 shell,然后创建一个具有相同 shell 和辅助组的新用户。
Usage: clone-user src_user_name new_user_name
Run Code Online (Sandbox Code Playgroud)
没有错误检查,它只是一个快速而肮脏的克隆脚本。
passwd newuser修改密码。请注意,系统明智的两个用户是相同的(相同的 UID),因此一个人将能够进入另一个人的主目录并随意修改。