首页 > 代码库 > 不使用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,如何创建新用户