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

相关推荐

  • sed

    简介     sed 是一种流编辑器,它一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。文件内容并没有 改变,除非你使用重定向存储输出。Sed主…

    Linux干货 2016-03-22
  • N25-第一周

    一:计算机主要组成及其功能 计算机的主要组成部分可以归纳为以下五个部分:控制器、运算器、存储器、输入设备、和输出设备。  功能介绍:         1.控制器          …

    Linux干货 2016-12-04
  • httpd功能配置之CGI程序

        httpd服务中有一个cgi-bin目录,此目录专门用于存放cgi脚本。CGI即网关通用接口,用于实现动态网页。下面简单编写一个CGI脚本来进行测试此功能:     1、在/var/www/cgi-bin/目录下创建一个脚本     2、重启服务     3、验证 &nb…

    Linux干货 2016-03-11
  • 正则表达式

    正则表达式是一种以一些字符赋予特殊意义之后,用来表达字符串,用以筛选各种形式的字符串用来进行查找、替换、删除等各种文本编辑作用的一种表示方式。 正则表达式的特殊字符 字符表示 .   可以表示任意可打印字符 [] 中括号范围内任意单个字符 [^] 中括号范围外任意单个字符 (相对所有可打印字符) [:space:] 表示任意单个空白字符 [:dig…

    2017-08-03
  • Linux终端类型

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

    Linux干货 2016-10-14
  • 二维码的生成细节和原理

    二维码又称QR Code,QR全称Quick Response,是一个近几年来移动设备上超流行的一种编码方式,它比传统的Bar Code条形码能存更多的信息,也能表示更多的数据类型:比如:字符,数字,日文,中文等等。这两天学习了一下二维码图片生成的相关细节,觉得这个玩意就是一个密码算法,在此写一这篇文章 ,揭露一下。供好学的人一同学习之。 关于QR Code…

    Linux干货 2016-08-15