在Linux下只有root一个超级用户,但是可以创建多个普通用户的,具体的创建方法如下。
先切换到root用户,使用下面的命令创建用户名为user1(本文均以此用户名为例,注意后续键入指令时不要弄错了)的普通用户。
su root
useradd user1
接着用下面的命令给刚才创建的这个用户设置密码。
passwd user1
具体的执行过程如下图所示。
但是在创建完成想切换到该用户进入时,发现进入不了,一直停在这里不动,如下图所示。
/home下存放着和普通用户名相同的文件夹,在/home文件夹下查看,发现没有生成名称为user1的文件。
在网上查了一下,前面的用户创建指令中需要加上-m才能在/home文件夹下生成名称为新建用户名的文件,像下面这样。
useradd -m user1
但是在执行该命令前需要先删除掉之前创建的用户,不然在执行时会显示该用户已经存在,如下图所示。
删除已存在用户的命令如下。
userdel user1
然后再执行新建用户的命令,在/home下就可以看到我们新建的这个user1文件夹了。
但是在切换到这个用户时发现切换不了,如下图所示。
出现上面问题的原因是忘了设置密码,因为原有用户已经被删了,每创建一次,都要设置一次密码。
然后切换到这个新建的用户,输入密码后显示的是"$",回车后显示的也是,如下图所示。
再次查询原因,是新建的用户未指定shell,需要键入命令为其指定为/bin/bash,仍然在root用户下,使用下面的命令指定。
usermod -s /bin/bash user1
然后再次切换到刚才新建的用户,就没有问题了,如下图所示。
打开/etc/passwd文件,最后一行就是我们刚才新建用户的信息,如下图所示。
经过测试,在刚才新建用户下的各项操作也是没有问题的。
本文参考文章:
Linux系统登录新建用户时,shell开头为$,不显示用户名和路径的解决办法