useradd用户添加操作


参数说明


-u    UID        用户ID

-g    gid        基本组ID

-G    GID        附加组ID 

-d    Directory     指定用户的家目录路径,但目录不可以先存在

-s              指定用户使用哪种shell进行交互

-r              设置用户为系统用户 UID<499 不创建家目录

               虽然在/etc/passwd里面有写家目录的路径 但在/home不会创建的

               shell类型默认为:/bin/bash

选项

-m              强制创建用户家目录

-M              不要创建用户的家目录

-a              after前面的意思 在usermod修改-G附加组加使用


-s分配用户使用哪里shell脚本去交互解释,在linux系统当中一共有以下几种

[root@oldboyLinux ~]# cat /etc/shells 
/bin/sh
/bin/bash
/sbin/nologin
/bin/dash
/bin/tcsh
/bin/csh


说明一下

用户的UID是根据上一个UID进行自增 有点像我们的 MySQL数据库的主键自增类似




添加一个 hadoop 普通用户

[root@oldboyLinux ~]# tail -2 /etc/passwd
mysql:x:503:504::/home/mysql:/bin/nologin
oldboy:x:520:521::/tmp/oldboy:/bin/bash

[root@oldboyLinux ~]# useradd hadoop

[root@oldboyLinux ~]# tail -3 /etc/passwd

mysql:x:503:504::/home/mysql:/bin/nologin
oldboy:x:520:521::/tmp/oldboy:/bin/bash
hadoop:x:521:522::/home/hadoop:/bin/bash



添加一个用户php200 指定家目录路径为  /tmp/php200

[root@oldboyLinux ~]# useradd -d /tmp/php200 php200
[root@oldboyLinux ~]# ls -ld /tmp/php200
drwx------. 3 php200 php200 4096 Apr 18 14:37 /tmp/php200


添加一个用户java800 附加组 it 并指定不允许用户登录

[root@oldboyLinux ~]# useradd -G it -s /sbin/nologin java800
[root@oldboyLinux ~]# tail -1 /etc/passwd
java800:x:523:524::/home/java800:/sbin/nologin
[root@oldboyLinux ~]# id java800
uid=523(java800) gid=524(java800) groups=524(java800),501(it)




usermod 用户修改

用户修改的参数和用户添加的一样,只是在修改的时候要注意加一些必要的参数

才能发挥作用 达到想要的效果


如:修改用户附加组 -G 要 -a 选项来配合

[root@oldboyLinux ~]# id php200
uid=522(php200) gid=523(php200) groups=523(php200)   
[root@oldboyLinux ~]# usermod -G it php200
[root@oldboyLinux ~]# id php200
uid=522(php200) gid=523(php200) groups=523(php200),501(it) //现在添加一个附加组 501(it)


现在我还想给用户 php200 添加一个 hadoop 的附加组

这里就要使用选项 -a  (after) 参数 意思就是在附加组的前面追加一个,保留原有的附加组

注意:如果这里不加 -a 选项的话 系统会把附加组直接设置为 hadoop 

[root@oldboyLinux ~]# id php200
uid=522(php200) gid=523(php200) groups=523(php200),501(it)    //原来的附加组
[root@oldboyLinux ~]# usermod -a -G hadoop php200
[root@oldboyLinux ~]# id php200
uid=522(php200) gid=523(php200) groups=523(php200),501(it),522(hadoop) //追加之后的


如:修改用户的家目录 -d 要 -m 选项来配合

现在我们修改用户的家目录 指定用户java800的家目录为 /home/java900

[root@oldboyLinux ~]# grep "java800" /etc/passwd
java800:x:523:524::/home/java800:/sbin/nologin


注意查看:原来家目录是 /home/java800 

[root@oldboyLinux ~]# grep "java800" /etc/passwd
java800:x:523:524::/home/java800:/sbin/nologin
[root@oldboyLinux ~]# usermod -m -d /home/java900 java800    //修改家目录命令
[root@oldboyLinux ~]# grep "java800" /etc/passwd
java800:x:523:524::/home/java900:/sbin/nologin
[root@oldboyLinux ~]# ll /home/
total 16
drwx------. 3 hadoop  hadoop  4096 Apr 18 14:34 hadoop
drwx------. 3 java100 java100 4096 Apr 17 08:09 java
drwx------. 3 java800 java800 4096 Apr 18 14:40 java900  //用户java800的家目录路径
drwx------. 3 php100  php100  4096 Apr 14 18:09 php100



用户修改基本就是以上这两个要注意一下  其它都和useradd差不多吧.....



用户删除 userdel 使用

    

    -r 删除家目录

    -f 强制 force


如:删除用户 asp100

[root@oldboyLinux ~]# ll /home/
total 20
drwx------. 3 asp100  asp100  4096 Apr 20 10:05 asp100 //asp100家目录
drwx------. 3 hadoop  hadoop  4096 Apr 18 14:34 hadoop
drwx------. 3 java100 java100 4096 Apr 17 08:09 java
drwx------. 3 asp100  asp100  4096 Apr 18 14:40 java900
drwx------. 3 php100  php100  4096 Apr 14 18:09 php100
[root@oldboyLinux ~]# userdel -r asp100    //删除家目录
[root@oldboyLinux ~]# ll /home/
total 16   删除之后 asp100没有了.....
drwx------. 3 hadoop  hadoop  4096 Apr 18 14:34 hadoop
drwx------. 3 java100 java100 4096 Apr 17 08:09 java
drwx------. 3     523     524 4096 Apr 18 14:40 java900
drwx------. 3 php100  php100  4096 Apr 14 18:09 php100


添加一个系统用户 mysql

说明一下

# useradd -r mysql  看看效果

[root@oldboyLinux ~]# tail -1 /etc/passwd
mysql:x:498:498::/home/mysql:/bin/bash

mysql:x:498:498::/home/mysql:/bin/bash

UID=498

GID=498

备注没有

家目录=/home/mysql  这里有 但是在/home家目录可是没有创建的 

shell类型=/bin/bash   这里我们如果想要创建一个系统的话 最好就给一个 /sbin/login 不可以登录的用户

[root@oldboyLinux ~]# useradd -r -s /sbin/nologin mysql
[root@oldboyLinux ~]# tail -1 /etc/passwd
mysql:x:498:498::/home/mysql:/sbin/nologin