Linux用户和组管理整理

本节介绍Linux用户和组相关的配置文件,用户账号管理、查询用户信息以及切换用户的相关命令,将会让我们更了解各配置文件中各个字段的含义,以及各相关命令的使用方法,方便Linux运维人员管理Linux系统中的用户和组。


背景:

Linux是个多用户、多任务的系统,考虑到每个人的隐私权、每个人喜好的工作环境以及每个用户所使用的权限等方面的不同,所以设定了“用户”来管理各自用户的权限。

一、用户和用户组相关的配置文件管理

  • /etc/passwd:用户的账号信息 

  • /etc/group:组的账号信息

  • /etc/shadow:用户密码和相关的账号设定

  • /etc/gshadow:组的密码信息

        (1)/etc/passwd文件

    文件中共包含了7个字段,分别使用 : 隔开。下面介绍各个字段所代表的含义

        account : password     :  UID    :  GID   :    GECOS     :  directory   :       shell

   登陆名  :    密码符    :  用户ID  :  组ID  :   注释信息  :  家目录      :  用户默认shell

备注:用户可以加入不止一个组:基本组一个,附加组(也称额外组)可包含多个。

        (2)/etc/group

              文件中共包含了4个字段,分别使用 : 隔开。下面介绍各个字段所代表的含义

                 group_name  :  passwd  :  GID  :  user_list

                    组名     : 密码符  :  GID  :  以都好分割属于此组(以之作为额外组)的用户列表

        (3)/etc/shadow

              文件中共包含了7个字段,分别使用 : 隔开。下面介绍各个字段所代表的含义

                    用户名 : 加密的密码 : 最近一次修改密码的时间 : 密码最短使用期限 : 密码最长使用期限 : 密码过期警告区间 : 密码非活动期限 : 账号过期期限 : 保留区域

        (4)/etc/gshaow   

              文件中共包含了4个字段,分别使用 : 隔开。下面介绍各个字段所代表的含义

                  group_name  :   password    :    administrator   :    members

                    组名      :    密码符     :   用户组的管理员   :    组的成员  

二、用户账号管理相关命令(这里仅列出去常用命令和参数,详细请查man)

  • useradd      :新增用户

  • groupadd     :新增组

  • passwd       :修改用户密码

  • gpasswd      :修改组密码

  • userdel      :删除用户

  • groupdel     :删除组

  • usermod      :修改用户账号

  • groupmod     :修改组账号

  • chsh         :修改用户的shell

  • chfn         :修改注释信息

  • chage        :修改密码时效

        (1)useradd

     -u UID :指定UID

     -g GID :指定所属的基本组

     -G GID : 指定所属的附加组 

     -c 'COMMENT' :注释信息

     -d /path/to/somewhere :指定家目录,如果此目录事先存在,会有警告信息

       备注:在家目录中其实会有一些文件

        例如:ls -a /home/user1  ————>  .  ..  .bash_logout  .bash_profile  .bashrc

         这些文件是从系统/etc/skel 下拷贝过来的

     -s SHELL :指定SHELL,SHELL必须是在/etc/shells文件中存在的shell

      备注 /etc/shells是系统中支持的shell

        其中/sbin/nologin 表示不给用户登录 

     -m :强制给用户创建家目录

     -M :不给用户创建家目录

     -r :创建系统用户

        (2)groupadd

     -g GID:指定GID

     -r :系统组

        (3)passwd

普通用户仅能修改自己的密码

          管理员 能修改全部用户的密码

      passwd [username]

       –stdin : 不需要交互式输入密码

    -l :锁定用户

    -u :解锁用户

        (4)gpasswd

           gpasswd[-a user][-d user][-A user,…][-M user,…][-r][-R]groupname

              -a:添加用户到组

              -d:从组删除用户

              -A:指定管理员

              -M:指定组成员和-A的用途差不多

              -r:删除密码

              -R:限制用户登入组,只有组中的成员才可以用newgrp加入该组

                       备注:给组账号设置完密码以后,用户登陆系统,使用newgrp命令,输入给组账号设置的密码,就可以临时添加到指定组,可以管理组用户,具有组权限。格式:newgrp   【组名】

        (5)userdel 

userdel [options] USERNAME

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

        (6)groupdel

          groupdel GRPNAME

        (7)usermod

usermod [options] USERNAME 

   -u UID : 修改UID 

   -g GID :修改用户的基本组

   -G GID,….:修改用户附加组;此选项通常跟-a一起使用,以最佳方式修改附加组,表示不覆盖原有的附加组

    例子:usermod -a -G mygrp,testgrp user6

   -c COMMENT:指定注释信息

   -d /path/to/somewhere :修改家目录的位置;同时使用-m选项可保证创建家目录,并将用户原有的文件移动至新的家目录中

   -s SHELL:修改SHELL

   -l LOGIN_NAME:修改用户名

   -L :锁定用户

   -U :解锁用户

        (8)groupmod

   -g GID

   -n NEW_GRP_NAME

        (9)chsh 

           chsh USERNAME

        (10)chfn

           chfn USERNAME

        (11)chage

           chage[options] USERNAME

     实例截图:

        (1)useradd

Linux用户和组管理整理Linux用户和组管理整理        Linux用户和组管理整理

        Linux用户和组管理整理

        (2)groupadd

Linux用户和组管理整理        3.png

        (3)passwd

Linux用户和组管理整理        Linux用户和组管理整理

        (4)gpasswd

        Linux用户和组管理整理

        Linux用户和组管理整理

        (5)userdel

Linux用户和组管理整理        111.png

        (6)groupdel

Linux用户和组管理整理        222.png

        (7)usermod

Linux用户和组管理整理        Linux用户和组管理整理

        (8)groupmod

Linux用户和组管理整理        Linux用户和组管理整理

        (9)chsh

Linux用户和组管理整理        Linux用户和组管理整理

        (10)chfh

Linux用户和组管理整理        Linux用户和组管理整理

Linux用户和组管理整理        Linux用户和组管理整理

        (11)chage

Linux用户和组管理整理        Linux用户和组管理整理

三、查询用户信息相关命令    

  • id           :显示用户信息

  • who       :显示目前登入系统的用户信息

  • whoami :显示自身的用户名称

  • finger     :查询用户的相信信息,例如用户的用户名、主目录、停滞时间、登录时间、登录shell等信息

(1)id

    id USERNAME

           -g:显示用户所属的基本组

      -G:显示用户所有组(默认显示数字)

      -n:显示名称

      -u:显示UID

(2)who

    who [option]

      -H :显示各栏位

(3)whoami

   whoami [–help][–version] 

(4)finger

   finger [-lmsp] [user …] [user@host …]

          -l :  多行显示来描述信息,例如关于用户家目录,家庭电话,登录脚本等内容

实例截图:

(1)id

Linux用户和组管理整理

(2)who

Linux用户和组管理整理Linux用户和组管理整理

(3)whoami

Linux用户和组管理整理Linux用户和组管理整理

(4)finger

Linux用户和组管理整理18.png

四、切换用户命令

su: switch user

     su [OPTIONS] USERNAME 

    -l:完全切换 ,l可省略

备注:如果不使用“-l”切换用户,只是切换了过去,但其实环境变量,家目录都没有改变。

-c 'COMMAND':仅以指定用户运行命令,并取回结果(一般用于脚本中)

例子:su wqp -c 'ls'  ————> fstab

表示并不切换账号而执行某个命令

实例截图:

Linux用户和组管理整理Linux用户和组管理整理

Linux用户和组管理整理

五、命令总结

(1)用户和用户组相关的配置文件管理: /etc/passwd , /etc/group , /etc/shadow ,/etc/gshadow

(2)用户账号管理相关命令 : useradd , groupadd , passwd , gpasswd , userdel , groupdel , usermod , groupmod , chsh , chfn , chage

(3)查询用户信息相关命令: id , who,whoami,finger

(4)切换用户命令: su


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

(0)
上一篇 2015-06-15 16:40
下一篇 2015-06-15 18:24

相关推荐

  • linux系统启动之破坏与修复

    linux系统启动之破坏与修复:      通过这些实验,了解linux启动流程和相关文件,同时也预防系统发生问题能更快解决,而不用重装或者耽误时间:      实验:破坏MBR 446     dd if=/dev/zero of=/dev/sda bs=1 count=446…

    Linux干货 2017-03-30
  • Linux的硬链接与软链接

    Linux 的硬链接与软链接 文件由文件名与数据组成,这在 Linux 上被分成两个部分:用户数据 (user data) 与元数据 (metadata)。用户数据,即文件数据块 (data block),数据块是记录文件真实内容的地方;而元数据则是文件的附加属性,如文件大小、创建时间、所有者等信息。在 Linux 中,元数据中的 inode 号(inode…

    Linux干货 2016-10-25
  • httpd服务之虚拟主机、访问控制、https配置详解

    前言 上文讲解了http协议及httpd的一些特性,是学习web服务需要掌握的一些基础知识,接下来让我们进一步了解httpd相关功能的配置,本文讲解的是虚拟主机,访问控制及https等功能的配置。 httpd之虚拟主机 虚拟主机共分为三种模式:基于IP、基于端口、基于主机名(FQDN) 实验环境介绍 开始之前,先介绍一下httpd在CentOS6.6版本及文…

    Linux干货 2015-04-14
  • FTP服务

        FTP是一个非常古老的协议,其主要的作用是用于文件的传输。FTP采用明文的方式传输,极其不安全,但在局域网等环境中使用还是比较方便的。 一、工作原理     FTP的工作方式分为主动模式与被动模式。     1、主动模式 &nbsp…

    Linux干货 2015-07-08
  • linux基础练习

    马哥教育23期网络班+第6周课堂练习 Linux 基础练习 一、linux基础练习题 1、复制/etc/rc.d/rc.sysinit 文件至/tmp 目录,将/tmp/rc.sysinit 文件中的以至少一个空白字符开头的行的行首加#; 2、复制/boot/grub/grub.conf 至/tmp目录中 删除/tmp/grub.conf 文件中的行首的空白…

    Linux干货 2016-11-01