用户、组的创建和管理

用户的创建

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

相关推荐

  • PS进程命令常用选项参数详解

    PS命令是什么 ps命令能够给出当前系统中进程的快照。它能捕获系统在某一时间的进程状态。如果想要不断更新查看这个状态,可以配合watch命令或使用top命令。ps命令支持三种使用的语法格式 UNIX 风格:选项可以组合在一起,并且选项前必须有”-“连字符。 BSD 风格 :选项可以组合在一起,但是选项前不能有”-&#822…

    2017-07-09
  • Linux系统启动流程

        下面按照系统的启动顺序来进行逐一的讲解。 一、POST     当我们按下开机的电源后,主板上的芯片组会首先向CPU发出一个reset指令,之后待芯片组检测到电源供电稳定后便撤去reset指令,CPU就会跳转到BIOS中的启动代码位置; BIOS首先要检测关键设备(如内显…

    Linux干货 2015-05-23
  • 使用fail2ban防止暴力破解ssh及vsftpd密码

    此文介绍一个linux下通过监控日志防止密码被暴力破解的软件-fail2ban。fail2ban支持常用的服务,如sshd, apache, qmail, proftpd, sasl, asterisk等的密码验证保护,当发现暴力破解的迹像时,可以通过iptables, tcp-wrapper, shorewall等方式阻止此IP的访问。 python安装 …

    Linux干货 2015-03-04
  • 标记2

    标记2

    Linux干货 2018-03-11
  • 第五周

    显示/boot/grub/grub.conf中以至少一个空白字符开头的行 egrep "^[[:space:]]+" /boot/grub/grub.conf 显示/etc/rc.d/rc.sysinit文件中以#开头,后面跟至少一个空白字符,而后又有至少一个非空白字符的行 egrep "^#[[:…

    Linux干货 2016-09-19
  • N24_jerry 第十二周作业

    1、请描述一次完整的http请求处理过程; 简介 一次完整的HTTP请求过程从TCP三次握手建立连接成功后开始,客户端按照指定的格式开始向服务端发送HTTP请求,服务端接收请求后,解析HTTP请求,处理完业务逻辑,最后返回一个HTTP的响应给客户端,HTTP的响应内容同样有标准的格式。无论是什么客户端或者是什么服务端,大家只要按照HTTP的协议标准…

    Linux干货 2017-03-22