用户、组的创建和管理

用户的创建

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)
上一篇 2016-08-03 10:08
下一篇 2016-08-03 14:33

相关推荐

  • Linux终端类型

      终端是一种字符型设备,它有多种类型,通常使用tty来简称各种类型的终端设备。   在Linux系统的设备特殊文件目录/dev/下,终端特殊设备文件一般有以下几种:   1、串行端口终端 /dev/ttySn     串行端口终端是使用计算机串行端口连接的终端设备。计算机把每个串行端口都看作是一个…

    Linux干货 2016-10-14
  • 包管理工具rpm和yum的用法

    包管理工具rpm和yum的用法 一、rpm的用法 rpm原本是Rde Hat Linux发行版专门用来管理Linux各项套件的程序,由于它遵循GPL规则且功能强大方便,因而广受欢迎。逐渐收到其他发行版的采用,RPM套件管理方式的出现,让Linux易于安装、升级,间接提升了Linux的适用性。 rpm用法:rpm [OPTION…] 1、rpm安装…

    Linux干货 2016-08-24
  • nginx服务

      Nginx 提供web服务,也是工作在应用层的负载均衡器,拥有强大的缓存能力。 本章主要学习,web server、web reverse proxy(http)和cache 缓存服务器使用较多的是varnish+squid: 任何缓存都是反向代理,但是varnish反向代理能力还是与nginx有很大差距。所以,varnish还是做缓存服务,而…

    Linux干货 2016-11-01
  • 进程和计划任务

    一、知识整理 1、网络客户端工具:lftp,ftp,lftget,wget 子命令:get,mget,ls,help等 wget [opt] …[url] -q 静默模式 -c 断点续传 -O 保存位置 –limit-rates=  指定传输速率 登录ftp之后:lcd 在本机切换目录;get下载单个文件 !ls 查看本机文…

    Linux干货 2016-09-13
  • 用户及相关权限命令

    2018-03-26

    2018-03-26