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

相关推荐

  • 使用yum源码编译安装程序

    需要的安装包:httpd-2.2.29.tar.bz2 1、安装develpment tools     yum groupinstall "Development Tools" 2、下载服务器中的http源安装包到本地,然后解压到指定文件夹中 lftp 10.1.0.1:/pub/Sources/…

    Linux干货 2016-08-24
  • history命令详解,铭记历史,圆梦中华。

        铭记历史,圆梦中华。在Linux操作系统中,对于管理员操作的命令进行查询也是非常重要,而且熟练掌握调用命令历史能提高管理员管理系统的效率。     history的命令缓存数目是由一个在/etc/profile文件名为HISTSIZE的变量决定,可以通过env命令查看当前设定的数目,也可以通…

    Linux干货 2016-07-26
  • rsync+inotify实时同步备份数据

    rsync同步 rsync+inotify实时同步备份数据 软件简介: rsync命令简介: rsync命令是一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件。rsync使用所谓的“rsync算法”来使本地和远程两个主机之间的文件达到同步,这个算法只传送两个文件的不同部分,而不是每次都整份传送,因此速度相当快。 rsync是一个功能非常强大…

    Linux干货 2016-10-28
  • 权限管理

    权限管理 在linux中的每一个文件或目录都包含有访问权限,这些访问权限决定了谁能访问和如何访问这些文件和目录。 我们先来看看文件的属性: 权限: r:可获取文件数据(读取文件) w:可修改文件的数据(写入数据) x:可以把此文件提请内核启动为一个进程 (执行) 文件的权限主要针对三类对象进行定义:  owner: 属主, u  grou…

    Linux干货 2016-08-05
  • N25第7周作业

    1、创建一个10G分区,并格式为ext4文件系统;   (1) 要求其block大小为2048, 预留空间百分比为2, 卷标为MYDATA, 默认挂载属性包含acl;    (2) 挂载至/data/mydata目录,要求挂载时禁止程序自动运行,且不更新文件的访问时间戳; ]# fdisk /dev/sdb #划出一个…

    Linux干货 2017-02-21
  • inotify+rsync同步方案(ubuntu,适用其他发行版)

    系统:Ubuntu 16.04.1  工具:rsync 3.1.1 、inotify -tools 3.14      作者:jevtse    本文除了软件安装部分,其他内容同样适用其他linux系统;同步目标主机:172.16.250.…

    2017-03-05