一天一点linux(18):adduser和useradd的区别

adduser命令

说明: 在使用adduser命令时,它会添加这个用户名,并创建和用户名名称相同的组名,并把这个用户名添加到自己的组里去,并在/home目录想创建和用户名同名的目录,并拷贝/etc/skel目录下的内容到/home/用户名/的目录下,并提示输入密码,并提示填写相关这个用户名的信息。

用adduser这个命令创建的账号是普通账号,可以用来登陆系统.


denson@silkPC:~$ su root

Password: 

root@silkPC:/home/denson# adduser mongo

Adding user `mongo' ...

Adding new group `mongo' (1001) ...

Adding new user `mongo' (1001) with group `mongo' ...

Creating home directory `/home/mongo' ...

Copying files from `/etc/skel' ...

Enter new UNIX password: 

Retype new UNIX password: 

passwd: password updated successfully

Changing the user information for mongo

Enter the new value, or press ENTER for the default

    Full Name []: 

    Room Number []: 

    Work Phone []: 

    Home Phone []: 

    Other []: 

Is the information correct? [Y/n] y

root@silkPC:/home/denson# cd ../

root@silkPC:/home# ls

denson  mongo

删除创建用户:


userdel -r mongo       # -r参数删除用户mongo的同时,将其宿主目录和系统内与其相关的内容删除。

useradd命令

命令说明: 在使用命令useradd时,它会添加这个用户名,并创建和用户名相同的组名,但它并不在/home目录下创建基于用户名的目录,也不提示创建新的密码。也就是说使用useradd mongo 创建出来的用户,将是默认的”三无”用户,无家目录,无密码,无系统shell,换句话说,它创建的是系统用户,无法用它来登陆系统.


root@silkPC:/home# useradd mongotest

如何用useradd创建的用户登陆系统呢?

1.首先为新用户设置密码


root@silkPC:/home# passwd mongotest

Enter new UNIX password: 

Retype new UNIX password: 

passwd: password updated successfully

2.为新用户创建家目录/home/mongotest


root@silkPC:/home# mkdir mongotest

3.更改家目录归属


root@silkPC:/home# chown -R mongotest:mongotest /home/mongotest/

root@silkPC:/home# ll

total 16

drwxr-xr-x  4 root      root      4096  6月 28 15:51 ./

drwxr-xr-x 24 root      root      4096  6月 28 10:16 ../

drwxr-xr-x 46 denson    denson    4096  6月 28 15:18 denson/

drwxr-xr-x  2 mongotest mongotest 4096  6月 28 15:51 mongotest/

4.修改mongotest的登陆Shell为/bin/bash


root@silkPC:/home# usermod -s /bin/bash mongotest

root@silkPC:/home# tail -1 /etc/passwd  //查看命令

mongotest:x:1001:1001::/home/mongotest:/bin/bash

5.进入home目录,再将/etc/skel目录下的文件复制到该用户目录下,就大功告成了.


root@silkPC:/home# cp -r /etc/skel /mongotest

上述方法,是用useradd mongotest 没有指定任何参数的情况下的修改.如果在用useradd创建用户时加上参数,例如:”-d”–指定家目录,”-s”–指定shell,即可以让该用户正常登陆系统.

例如:


root@silkPC:/home# useradd -d /home/mongotest -m -s /bin/bash mongotest

删除用户



root@silkPC:/home# userdel mongotest  //-r参数表示删除家目录

参数说明:

-c 备注 加上备注。并会将此备注文字加在/etc/passwd中的第5项字段中;

-d 用户主文件夹。指定用户登录所进入的目录,并赋予用户对该目录的的完全控制权,一般与 “-m” 一起使用,让用户自定义家目录路径;

-e 有效期限。指定帐号的有效期限。格式为YYYY-MM-DD,将存储在/etc/shadow;

-f 缓冲天数。限定密码过期后多少天,将该用户帐号停用;

-g 主要组。设置用户所属的主要组;

-G 次要组。设置用户所属的次要组,可设置多组;

-M 强制不创建用户主文件夹;

-m 强制建立用户主文件夹,并将/etc/skel/当中的文件复制到用户的根目录下;

-p 密码。输入该帐号的密码;

-s shell。用户登录所使用的shell;

-u uid。指定帐号的标志符user id,简称uid;

    原文作者:denson
    原文地址: https://segmentfault.com/a/1190000007316406
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞