我正在运行一堆AIX系统,我想改变用户的创建方式。
默认情况下,用户使用组分配(主要成员和唯一的成员资格)作为员工。我想将其设置为$ USERNAME。
我看了一下/etc/mkuser.default文件并通过执行/ home / $ USER来设置主目录,所以我尝试重用$ USER变量用于pgrp和groups变量,但是它返回说当我尝试创建用户时,该组不存在。
有谁知道这是否可能?一个可行的解决方案是在创建用户时运行自定义脚本,但是mkuser.default似乎只读取用户节中的变量设置。
全心全意,
伊恩。
答案 0 :(得分: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>
再次创建用户后。