首页 > 代码库 > 不使用useradd,如何创建新用户
不使用useradd,如何创建新用户
大家都知道,使用useradd user1 就可以轻松创建一个用户,但是如果不用这个命令,如何创建用户呢?
useradd 创建一个用户后,查看/etc/passwd就会发现最下面多了一个user1的信息,那么我们直接把这些信息写入文件就可以创建一个用户了。这里因为我之前已经创建了stu3了,所以从stu4开始。
[root@lcc home]# echo stu4:x:504:504::/home/stu4:/bin/bash >>/etc/passwd
[root@lcc home]# tail -1 /etc/passwd
stu4:x:504:504::/home/stu4:/bin/bash
[root@lcc home]# id stu4 #用id命令查看用户是否存在;
uid=504(stu4) gid=504 groups=504
[root@lcc home]#
但是这里我们发现,虽然创建了一个用户,但是这个用户其实什么也干不了,
[root@lcc ~]# passwd stu4
Changing password for user stu4.
passwd: Authentication token manipulation error
[root@lcc ~]# su - stu4
su: warning: cannot change directory to /home/stu4: 没有那个文件或目录
-bash-3.2$ exit
logout
[root@lcc ~]#
这是因为我们并没有为该用户创建家目录,那么这里要用到一个目录,/etc/skel 这个目录是linux在创建用户时的一个模板目录,创建一个用户后,都会将该目录下的所有内容复制到用户的家目录里,目录里的内容都是隐藏文件(.开头),那么我们把这个目录复制一份到/home下
cp -a /etc/skel /home/stu4
此时stu4就可以登录了,但你会发现还是有问题的,因为如果你用ls -l查看stu4目录
drwxr-xr-x 3 root root 4096 10-21 05:27 stu4
会发现他的所有者和所有组都是root,我们一开始在/etc/passwd里面输入的uid为504,gid也是504,那么我们就要创建一个群组了,
groupadd stu4
进入/etc/group里面查看 会出现 stu4:x:504:
这就是我们新建的组,然后再把/home/stu4的所有者和所有组修改下
chown -R stu4:stu4 /root/home/stu4 #-R 将目录下所有文件都改变
这样我们新建的stu4就可以正常使用了,用root用户为他创建一个密码吧! 虽然没有直接用命令来的简单,但这样我们能了解创建一个用户的过程。
本文出自 “Linux” 博客,请务必保留此出处http://redtree.blog.51cto.com/3273103/1575175
不使用useradd,如何创建新用户