我想从脚本中将用户添加到
linux系统,但我不想发明或关心密码.这应该自动完成.
目标是生成ssh-key,此用户只需要远程登录.或者,此用户将通过sudo su – thatuser从sudo用户使用.
我想在每次创建这样的用户时节省麻烦发明并输入一些安全密码,并且还要从脚本中执行此操作.
没有人应该能够以这个用户身份使用密码登录,所以我的想法是他获得了一个好的随机密码,但没人知道.
我可以编写一个生成ramdom的脚本,但mabye有内置的东西吗?或者只是停用密码(以便无法登录密码,但使用密钥和sudo su进行ssh登录 – 该用户工作正常.
编辑:已经有一些答案,很好,但我仍然不知道该怎么做.脚本怎么样?
它应该像adduser一样,并创建标准的一切(如std.主目录,骨架复制,同名组)
编辑2:最后,在你的帮助下,我找到了一个有效的解决方案,我想分享它.这是一个我称之为“adduser-nopasswd”的脚本,我将它放入/usr/local / sbin(这是一个好地方吗?),它只能由root执行.它需要一个参数,它同时是新组和用户的名称:
#!/bin/sh -e # the -e makes the script exit immediateley if one command fails NAME=$1 groupadd $NAME useradd --create-home -d /home/$NAME --shell /bin/bash -g $NAME $NAME
解决方法
如果您没有为useradd指定密码,则不会设置(因此用户将无法通过密码登录).请注意,useradd和adduser是两个不同的命令.
以下应创建具有自己的组的新用户,创建它的主目录(在默认位置,因为我们没有指定任何位置)并复制骨架文件.
useradd --create-home <user>
然后你只需在它的主目录中创建目录.ssh,chmod到0700(SSH会希望这是为了安全),并将用户公钥放在.ssh / authorized_keys中(私钥/公钥对应该由用户生成)他/她自己,在他/她自己的电脑上).
如果要禁用现有帐户的密码,可以使用以下内容.
usermod --lock <user>