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
下一篇 2015-06-15

相关推荐

  • 第四周

    博客具体内容请移步博客园:http://www.cnblogs.com/ITOps/p/6227780.html

    Linux干货 2016-12-27
  • fstab配置文件、swap分区,文件关联

    fstab配置文件、swap分区,文件关联,lvm 挂载点和/etc/fstab  配置文件系统体系  被mount、 fsck和其它程序使用  系统重启时保留文件系统体系  可以在设备栏使用文件系统卷标  使用mount -a 命令挂载/etc/fstab中的所有文件…

    Linux干货 2016-09-01
  • 高级文件系统之逻辑卷和btrfs文件系统

    逻辑卷管理器快照 逻辑卷可以实现对分区的动态的扩展,快照可以看成是特殊的逻辑卷,它是在生成快照是存在的逻辑卷的准确拷贝。 快照只有在它们和原来的逻辑卷不同时才会消耗空间:     在生成快照时会分配给他一定的空间,但只有在原来的逻辑卷或者快照有所改变时才会使用这些空间     当…

    Linux干货 2016-09-02
  • bash脚本编程实例

    bash脚本编程实例 1.写一个脚本,使用ping命令探测172.16.250.1-172.16.250.254之间的所有主机的在线状态 在线的主机使用绿色显示 不在线的主机使用红色显示 #!/bin/bash for i in {1..254};do if /bin/ping -W 1 -c 1 172.16.250.${i} >> /dev/…

    Linux干货 2017-08-20
  • 在Centos系统上安装EPEL扩展源以及安装htop工具

        Htop是一个强大的进程管理前端工具,但这是一个扩展工具,一般在Centos系统源中并没有,所有我们需要到fedora-epel源中下载。         EPEL即Extra Packages for Enterprise Lin…

    Linux干货 2016-02-14
  • 用户组和用户权限的使用2

    touch /etc/nologin  echo system is maintanining >> /etc/nologin  可以控制非管理员root之外的所有普通用户不能登陆 7版本里面 cd /run/ touch /run/nologin 效果一样让普通用户不能登陆 ehho weihu > /run/nolo…

    Linux干货 2016-08-04