0

我正在运行一堆 AIX 系统,我想改变创建用户的方式。

默认情况下,用户以组分配(主要和唯一组成员身份)为员工。我想将其设置为 $USERNAME。

我查看了 /etc/mkuser.default 文件,它通过执行 /home/$USER 设置主目录,所以我尝试为 pgrp 和组变量重用 $USER 变量,但是它返回说组不当我尝试创建用户时不存在。

有谁知道这是否可能?一个可行的解决方案是在创建用户时运行自定义脚本,但是 mkuser.default 似乎只读取用户节中的变量设置。

谢谢大家,

伊恩。

4

1 回答 1

0

您收到错误是因为在将用户添加到该组之前应该存在该组。因此,您可以尝试编写这样的 shell 脚本来创建用户:

#!/bin/ksh
user_name=$1
if [ -z "$user_name" ]
then
    echo "No Username specified"
    return 3
fi
mkgroup $user_name || {
    echo "mkgroup $user_name failed";
    return 4;
}
mkuser pgrp=$user_name $user_name || {
    echo "mkuser $user_name failed";
    return 5;
}

并像这样执行它:

./create_user.sh red
./create_user.sh blue
./create_user.sh green

确保在删除用户时删除已创建的组

因此删除用户的 shell 脚本可能如下所示:

#!/bin/ksh
user_name=$1
if [ -z "$user_name" ]
then
    echo "No Username specified"
    return 3
fi
rmuser $user_name || {
    echo "rmuser $user_name failed";
    return 4;
}
rmgroup $user_name || {
    echo "rmgroup $user_name failed";
    return 5;
}

我正在研究 mkuser.default 文件。据我所知,mkuser.default是从AIX 7.1的/usr/lib/security文件夹中获取的

另一件需要注意的事情:当您删除用户和组时,主目录 /home/ 仍然存在。如果您要创建具有相同名称的用户名/组,请确保执行以下操作:

chown -R <username>:<groupname> /home/<username> 

再次创建用户后。

于 2012-12-19T06:47:04.783 回答