这是我现在正在使用的脚本代码:
getent group $MYGROUP
if [ $? -ne 0 ] ; then
sudo su -c "groupadd $MYGROUP"
fi
sudo su -c "useradd mynewuser -p mypassword -m -g $PRIMARYGRP -G $MYGROUP"
这种方法在openSuse上效果很好。但是它在Ubuntu上创建的用户帐户存在一些问题,因此我在这里寻求帮助。
- 未设置终端提示(不
echo $PS1
返回任何内容) - 箭头键和Tab键在终端中无法正常工作
- 密码似乎不起作用(尽管我仍然不清楚这个问题是什么)
- 不尊重为此新用户设置的/ etc / sudoers权限
相反,如果我使用adduser
(而不是useradd)手动创建用户,那么在Ubuntu上就不会出现这些问题。但是我不能adduser
在openSuse(afaik)上使用。因此,我需要一个非Debian专有的脚本或通过我的bash脚本添加用户帐户的方法,该脚本可在Ubuntu上运行(并且不会停止在其他发行版上运行)。
最后,我想理解的差异之间adduser
和useradd
。例如,我想知道使用哪个骨架目录,adduser
因为这可能是由于useradd
未按预期工作的原因(因为我刚刚接受了默认设置)。
谢谢
另外,
—
enzotib
sudo su -c "cmd arg1 arg2"
等效于sudo cmd arg1 arg2
。
@enzotib谢谢。很高兴知道这些在Ubuntu上是等效的,因为它们不在openSuse上。因此,我将继续使用
—
Monica的MountainX
sudo su -c "cmd arg1 arg2"
它,使其在需要它的任何地方都可以使用。
adduser
是一个超过1000行的perl脚本,因此对于不同之处,您可以看一下该脚本。
@enzotib是的,我一直在阅读,
—
Monica的MountainX
adduser
但我不知道perl。所以这对我来说不是一个好方法。
man useradd
):useradd是用于添加用户的低级实用程序。在Debian上,管理员通常应改用adduser(8)。