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

相关推荐

  • DNS 笔记

    Ø DNS查询。工作流程如下图         n  客户端的DNS:8.8.8.8 /etc/hosts  14.215.177.38 www.baidu.com n  客户端访问www.baidu.com 不用向DSN服务器发生查询,只需要查询本地的 /e…

    Linux干货 2016-08-15
  • vim学习

    vim学习 认识与介绍   vim是一款linux下查看编辑文本文件的一款文本编辑器。一般用来查看修改配置文件、日志文件等文本类文件。 打开文件   vim [OPTIONS] [FILE …]     +#: 打开文件后,直接让文件处于第#行     +/…

    Linux干货 2016-10-09
  • 网卡路由配置信息及偷懒用法

            对于初学Linux的人来说,配置网卡无疑是比较晕的,各种的配置文件,字段、命令等让人眼花撩乱。所以这一章主要给大多数还在网卡配置路由配置的同学们解惑一、网卡配置基本概念        …

    Linux干货 2017-05-08
  • locate、find命令使用总结

    一、简介    在linux系统中存在"一切皆文件"的说法,这就足以说明文件的重要性,因此查找文件也是我们必须要掌握的技能。这时候熟练使用locate、find命令也就显得至关重要。尤其是find命令常用于日常工作中如安装完某个软件之后要查看这些软件的安装配置路径,或是需要按指定条件直接查找我们需要操作的文件。因此更需…

    Linux干货 2015-08-31
  • 第九周作业

    1、写一个脚本,判断当前系统上所有用户的shell是否为可登录shell(即用户的shell不是/sbin/nologin);分别统计这两类用户的个数;通过字符串比较来实现;    #!/bin/bash     echo "可登录类型有有$(awk -F: '/[^\<nologin\&gt…

    Linux干货 2017-02-07
  • 第八周:网络基础知识和shell脚本练习

    1、请描述网桥、集线器、二层交换机、三层交换机、路由器的功能、使用场景与区别; 网桥:是连接两个局域网的基于MAC地址数据存储转发设备,工作于数据链路层 集线器:所有端口处于同一个广播域和冲突域中,带宽共享,工作于物理层 二层交换机:多端口网桥,一个端口一个冲突域,默认所有端口位于同一个广播域中,可以划分vlan,隔离广播域,带宽独享 三层交换机:具有路由功…

    Linux干货 2016-11-21