用户、组的创建和管理

用户的创建

useradd usermod userdel

useradd:创建用户 create a new user or update default new user information

    useradd [options]… LOGIN

         -u,–uid:指定新用户的UID

         -o,配合-u使用,不检测用户UID的唯一性(可创建2个相同UID的帐号)

         -g,–gid:指定新建用户的GID

         -G,–group:指定新建用户的附加组,若指定多个组可用,分割

         -d,–home:指定用户的家目录

             但是其指定目录的父目录必须存在,否则无法创建其家目录

             每个用户家目录都有其配置文件,所有新建用户的家目录中的文件均来自/etc/skel/文件中

             若其指定的家目录已经存在,则不会复制/etc/skel/文件中的内容

         -s,–shell;指定用户的默认shell

             当前系统所有可用shell保存在/etc/shells文件中

         -c,指定用户信息的注释信息

         -r,–system:指定其创建的用户为系统用户,系统用户不会为其创建家目录

         -N,不为用户创建同名的组作为用户基本组,而是使用users作为基本组


    [root@CentOS6 ~]# id gao

    uid=500(gao) gid=500(gao) groups=500(gao),0(root)

    [root@CentOS6 ~]# useradd -ou 500 gaomeng1

    [root@CentOS6 ~]# id gaomeng1

    uid=500(gao) gid=5004(gaomeng1) groups=500(gao)

    [root@CentOS6 ~]# useradd -g gao -G gaomeng1 gaomeng2

    [root@CentOS6 ~]# id gaomeng2

    uid=4015(gaomeng2) gid=500(gao) groups=500(gao),5004(gaomeng1)

    [root@CentOS6 ~]# useradd -d /testdir/gaomeng3 -s /bin/csh -c "This is haha" gaomeng3

    [root@CentOS6 ~]# getent passwd gaomeng3

    gaomeng3:x:4016:4016:This is haha:/testdir/gaomeng3:/bin/csh

    [root@CentOS6 ~]# useradd -r gaomeng4

    [root@CentOS6 ~]# getent passwd gaomeng4

    gaomeng4:x:496:492::/home/gaomeng4:/bin/bash

    [root@CentOS6 ~]# ls -d /home/gao*

    /home/gao  /home/gao1  /home/gao4  /home/gaomeng1  /home/gaomeng2

    [root@CentOS6 ~]# useradd -N gaomeng5

    [root@CentOS6 ~]# getent passwd gaomeng5

    gaomeng5:x:4017:100::/home/gaomeng5:/bin/bash

    [root@CentOS6 ~]# groups gaomeng5

    gaomeng5 : users

    useradd -D

        显示创建用户的默认信息

         useradd -D [options]

             修改创建用户的默认信息,其本质是修改的/etc/default/useradd文件的内容

    [root@CentOS6 testdir]# useradd -D

    GROUP=100

    HOME=/home

    INACTIVE=-1

    EXPIRE=

    SHELL=/bin/bash

    SKEL=/etc/skel

    CREATE_MAIL_SPOOL=yes

    [root@CentOS6 testdir]# useradd -D -s /bin/csh

    [root@CentOS6 testdir]# cat /etc/default/useradd

    # useradd defaults file

    GROUP=100

    HOME=/home

    INACTIVE=-1

    EXPIRE=

    SHELL=/bin/csh

    SKEL=/etc/skel

    CREATE_MAIL_SPOOL=yes


usermod:修改用户属性 modify a user account

    usermod [options]… LOGIN

         -u,修改用户的ID,为用户指定行的UID

         -g,修改用户的基本组

         -G,修改用户的附加组,若指定多个组可用,分割

         -a,与-G结合使用,追加用户的附加组,可以在修改附加组的时候,不覆盖当前用户附加组

         -d,修改用户的家目录,但不会负责当前目录文件在指定目录中

         -m,与-d结合使用,在修改用户家目录时候,会转移家目录下的文件,-md其实完成的工作是移动和重命名

         -c,修改用户的注释信息

         -s,修改用户的默认shell

         -l,修改当前用户的用户名

        

         -L:–lock:锁定用户密码,被锁定用户,cat /etc/shadow查看密码时,其密码前面有一个!

         -U:–unlock:解锁用户密码

         -c:YYYY-mm-dd:指定用户帐号过期时间

         -f day:指定用户非活动时间

    [root@CentOS6 testdir]# usermod -g gentoo -aG gaomeng3,gaomeng4 gaomeng1

    [root@CentOS6 testdir]# id gaomeng1

    uid=500(gao) gid=4006(gentoo) groups=500(gao),4016(gaomeng3),492(gaomeng4)

    [root@CentOS6 testdir]# usermod -u 3000 -md /testdir/gaomeng2 -s /bin/csh gaomeng2

    [root@CentOS6 testdir]# id gaomeng2

    uid=3000(gaomeng2) gid=500(gao) groups=500(gao),5004(gaomeng1)

    [root@CentOS6 testdir]# getent passwd gaomeng2

    gaomeng2:x:3000:500::/testdir/gaomeng2:/bin/csh

    [root@CentOS6 testdir]# ls -a /testdir/gaomeng2

    .  ..  .bash_logout  .bash_profile  .bashrc  .gnome2  .mozilla

    [root@CentOS6 testdir]# usermod -c "big smile" -l gm3 gaomeng3

    [root@CentOS6 testdir]# getent passwd gm3

    gm3:x:4016:4016:big smile:/testdir/gaomeng3:/bin/csh

    [root@CentOS6 testdir]# usermod -L gao

    [root@CentOS6 testdir]# getent shadow gao

    gao:!$6$13tm7S5i$22vbEKEMLPu6zr.Egl8yH/eA78lCk.tnxAw5AQZ2dEVZAXRiukgLXGw62euhDQM5zVDLgZWXw8nYiOkWixVAT1:17011:0:99999:7:3::

    [root@CentOS6 testdir]# usermod -U gao

    [root@CentOS6 testdir]# getent shadow gao

    gao:$6$13tm7S5i$22vbEKEMLPu6zr.Egl8yH/eA78lCk.tnxAw5AQZ2dEVZAXRiukgLXGw62euhDQM5zVDLgZWXw8nYiOkWixVAT1:17011:0:99999:7:3::


userdel:delete a user account and related files 删除用户

    userdel [options] LOGIN

    -r:删除用户时一并删除其家目录

    [root@CentOS6 testdir]# userdel -r gaomeng2

    [root@CentOS6 testdir]# id gaomeng2

    id: gaomeng2: No such user

    [root@CentOS6 testdir]# ls -d /home/gaomeng*

    /home/gaomeng1  /home/gaomeng5

id:显示用户的真实有效的UID和GID

    id [OPTION]… [USERNAME]

         -u:仅显示用户的UID

         -g:仅显示用户的GID

         -G:仅显示用户的附加组ID

         -n:与-u  -g  -G结合使用,不显示用户的ID信息,而显示ID所对于的用户名或组名

    [root@CentOS6 ~]# id -u gao

    500

    [root@CentOS6 ~]# id -nu gao

    gao

    [root@CentOS6 ~]# id -g gao

    500

    [root@CentOS6 ~]# id -ng gao

    gao

    [root@CentOS6 ~]# id -G gao

    500 0

    [root@CentOS6 ~]# id -nG gao

    gao root


su:切换用户或以其他用户身份执行命令

    su [OPTION]… [-] [USER [ARG]…]

     非登录式切换,即不会读取目标用户的配置文件,不改变当前工作目录

            su username

     登录式切换,会读取目标用户的配置文件,模拟重新登录,切换至家目录,完全切换

         su – username

         su -l username

     -c 'COMMAND' :不切换用户的前提下,以su命令后面的用户的身份-c后面的命令

passwd:修改用户的密码,仅root用户有权限运行此命令

    id [OPTION]… [USERNAME]

         -l,-u:锁定和解锁用户,用passwd给用户家的锁,其密码前面有2个!!

         -d:清除用户密码串,并且强制用户下次登录时修改密码

         -e:强制用户下次登录修改密密码

         -n:指定最短使用期限

         -x:指定最多使用期限

         -w:指定警告期限

         -i:指定非活动期限(密码过期后必须修改密码才能登录的时间)

         -uf:可以强制新创建的无密码的用户中的锁强制消除,即该用户可以直接登录

         –stdin:从标准接收用户的密码

            #echo "centos" | passwd –stdin username

组的创建

groupadd groupmod groupdel

groupadd:添加组

    -g:指定新建组的GID

    -r:指定新建组为系统组

    [root@CentOS6 ~]# groupadd -g 3500 test

    [root@CentOS6 ~]# getent group test

    test:x:3500:

    [root@CentOS6 ~]# groupadd -r test1

    [root@CentOS6 ~]# getent group test1

    test1:x:491:

groupmod:修改组属性

    -g:修改组的GID

    -n new_name:修改组的名字

    [root@CentOS6 ~]# groupmod -g 3600 -n txt test

    [root@CentOS6 ~]# getent group txt

    txt:x:3600:


groupdel:删除组

    [root@CentOS6 ~]# groups txt

    [root@CentOS6 ~]# groupmems -l -g txt

    groupmems: group 'txt' does not exist in /etc/group


gpasswd:修改组密码

    gpasswd [OPTION] GROUP

    gpasswd GROUP :给GROUP组设置密码,不能像passwd可以从标准输入捕捉数据,避免交互

    -A user1,user2,…:设置GROUP组的管理者

    -a user :把user添加进入GROUP组

    -d user:把user从组GROUP中移除

newgrp 命令:

临时切换基本组;

如果用户本不属于此组,则需要组密码

groupmems:更改和查看组成员

    groupmems [options] [action]

         -a, –add username 指定用户加入组

         -d, –delete username 从组中删除用户

         -p, –purge 从组中清除所有成员

         -l, –list 显示组成员列表

         -g, –group groupname 更改为指定组,与-p-l选择组合使用完成特定组的操作(只有root)

groupmems -l -g GROUPNAME   查看组所属的用户列表

groups  [OPTION].[USERNAME]…  查看用户所属组列表

原创文章,作者:megedugao,如若转载,请注明出处:http://www.178linux.com/27501

(0)
megedugaomegedugao
上一篇 2016-08-03
下一篇 2016-08-03

相关推荐

  • linux终端变量设置,文件系统,man使用说明,文件类型

    一、定义终端提示符的变量 export PS1=’\e[32m[\e[33m\u\e[31m@\e[35m\h\e[36m\t\e[34m\#\e[31m\s\e[37m\W\e[32m]\$ ‘  `]# export 是个命令      PS1指终端提示符变量    &n…

    Linux干货 2013-06-16
  • 进程与周期任务

    STAT:进程状态: R:running S: interruptablesleeping D: uninterruptable sleeping T: stopped Z: zombie +: 前台进程 l: 多线程进程 L:内存分页并带锁 N:低优先级进程 <: 高优先级进程 s: session leader,会话(子进程)发起者 top栏位信息…

    Linux干货 2017-05-15
  • N28-第二周博客作业

    常用通配符
    *:表示任意长度的任意字符;

    ?:表示任意的单个字符;

    []:表示在指定范围内的单个字符:[a-z];

    [^]:脱字符,是取反的意思,即在指定范围以外的任意字符,如 [^0-9]表示除数字以外的一切字符。

    [:digit:] 表示所有的数字,相当于0-9

    [:lower:] 表示所有的小写字母

    [:upper:] 表示所有的大写字母

    [:alpha:] 表示所有的字母,

    [:alnum:] 相当于[0-9a-z]

    [:space:] 相当于空白字符

    [:punct:] 表示所有的标点符号

    1、Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示。

    2、bash的工作特性之命令执行状态返回值和命令行展开所涉及的内容及其示例演示。

    3、请使用命令行展开功能来完成以下练习:

    (1)、创建/tmp目录下的:a_c, a_d, b_c, b_d

    (2)、创建/tmp/mylinux目录下的:
    mylinux/
    ├── bin
    ├── boot
    │?? └── grub
    ├── dev
    ├── etc
    │?? ├── rc.d
    │?? │?? └── init.d
    │?? └── sysconfig
    │?? └── network-scripts
    ├── lib
    │?? └── modules
    ├── lib64
    ├── proc
    ├── sbin
    ├── sys
    ├── tmp
    ├── usr
    │?? └── local
    │?? ├── bin
    │?? └── sbin
    └── var
    ├── lock
    ├── log
    └── run

    4、文件的元数据信息有哪些,分别表示什么含义,如何查看?如何修改文件的时间戳信息。

    5、如何定义一个命令的别名,如何在命令中引用另一个命令的执行结果?

    6、显示/var目录下所有以l开头,以一个小写字母结尾,且中间至少出现一位数字(可以有其它字符)的文件或目录。

    7、显示/etc目录下,以任意一个数字开头,且以非数字结尾的文件或目录。

    8、显示/etc目录下,以非字母开头,后面跟了一个字母以及其它任意长度任意字符的文件或目录。

    9、在/tmp目录下创建以tfile开头,后跟当前日期和时间的文件,文件名形如:tfile-2016-05-27-09-32-22。

    10、复制/etc目录下所有以p开头,以非数字结尾的文件或目录到/tmp/mytest1目录中。

    11、复制/etc目录下所有以.d结尾的文件或目录至/tmp/mytest2目录中。

    12、复制/etc/目录下所有以l或m或n开头,以.conf结尾的文件至/tmp/mytest3目录中。

    Linux干货 2017-12-11
  • 网络班N22期第三周博客作业

    一、列出当前系统所有已经登录的用户名,且同一个用户登录多次只显示一次 [root@bogon ~]# w  15:17:44 up 15:28,  2 users,  load average: 0.00, 0.00, …

    Linux干货 2016-08-29
  • Linux文件权限之facl

    1、什么是facl         facl(file access control list)文件访问控制列表,主要目的是在原有的u,g,o之外,另一层让普通用户能控制赋权给另外的用户或组的机制;       &nbs…

    Linux干货 2016-09-19
  • 第三次 练习

    1、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。 ~]# who | cut -d "" -f1 |uniq root     pts/0        2016-11-13 12:17 (172.16.220.14) 2、取出最后登录到…

    Linux干货 2016-11-16