LInux用户和组管理详解

一、用户和组的概念

Linux系统是多任务、多用户的分时操作系统。用户要使用系统资源,需要向管理员验证身份,由管理员进行认证和授权,并对用户的行为进行追踪和审计,以保障系统资源的合理分配以及系统的安全。

要达到账号管理的目的,需要对用户和用户组进行管理。下面分别来介绍用户管理和用户组管理。

每个用户都有唯一的一个编号来标识,这个标识号叫Uid,每个用户至少属于一个用户组,用户组使用Gid来进行标识

Linux用户信息按Username/ UID分两类:

       管理员:root,0。管理员具有系统的超级权限,可以进行绝大多数的系统操作。有“管理员即上帝”的说法。所以,在使用管理员进行操作时,对于可能造成系统破坏的操作应加倍小心。

       普通用户:Uid范围是1-65535,普通用户又可以划分为系统用户和登录用户。

            系统用户对守护进程获取资源进行权限分配。

            登录用户采用交互式登录方式登录系统。

            在CentOS6和CentOS7上具体的的划分又有所区别

                     CentOS6:

                            系统用户:1-499

                            登录用户:500+

                     CentOS7:

                            系统用户:1-999

                            登录用户:1000+

Linux组的划分:Groupname/GID

       组的划分与用户的划分相对应。

       管理员组:root,0

       普通组:

              系统组:1-499(centos6);1-999(centos7)

              普通组:500+(centos6);1000+(centos7)

组对系统用户来说,又可以划分问用户的基本组和附加组。用户必须属于一个且只能有一个基本组,组名同用户名。一个用户可以属于0个或多个附加组。

 二、用户和组的配置文件详解

Linux用户的主要配置文件有/etc/passwd、/etc/shadow,其中

/etc/passwd  存放用户的用户名及其属性信息(包含uid、基本组id等)

/etc/shadow  存放用户密码及其相关属性

下面来解释一下/etc/passwd文件的格式

blob.png

每行为一个用户的信息,用“:”作分割,分别对应

root        x                   0        0            root             /root           /bin/bash

用户名  密码信息       UID    GID     用户描述    用户家目录    用户登录时的默认shell

        为什么密码信息显示为x呢,因为所有用户都可以访问/etc/passwd文件,这是很不安全的,所以,密码另存在/etc/shadow文件中

/etc/shadow文件的格式:

blob.png

同样也是使用”:”做分隔符

  bin         *             15980      0              99999                         7               第七列          第八列

用户名  用户密码  密码最近  密码最小    密码最大   密码过期     密码锁定  账号过期时间    账号过期             

                           修改时间  修改时间    修改时间   提醒时间        时间                                 时间

第七列和第八列因为没有设置,所以没有显示

 解释:

用户密码:      经加密算法加密后的密文

密码最近修改时间:从1970年1月1日起到密码最近一次被更改的时间

密码最小修改时间: 密码再过几天可以被变更( 0表示随时可被变更)

密码最大修改时间:密码再过几天必须被变更( 99999表示永不过期)

密码过期提醒时间:密码过期前几天系统提醒用户(默认为一周)

密码锁定时间:密码过期几天后帐号会被锁定

账号过期时间:从1970年1月1日算起,多少天后帐号失效。

用图表来表示:

blob.png

 

组的相关信息保存在/etc/group和/etc/gshadow文件中,来看看两个文件的结构:

查看/etc/group

blob.png

从左至右分别对应:组名、组密码(通常不设定)、组id(GID)、组成员列表

 

查看/etc/shadow

blob.png

从左至右分别对应:组名、组密码、组管理员列表、以本组问附加组的成员列表

 

三、用户管理

       创建用户、管理用户、删除用户

1、创建用户:使用useradd命令 

useradd  [options]  username

常用选项

-u UID: 指定用户UID

-o 配合-u 选项,不检查UID的唯一性。一般来说,用户名和UID是一一对应的。在创建用户时如果为用户指定已使用的UID,会报错。

例:12346UID已使用,

blob.png

-g GID:指明用户所属基本组,可为组名,也可以GID

-c "COMMENT":用户的注释信息

-d HOME_DIR: 以指定的路径(不存在)为家目录

-s SHELL: 指明用户的默认shell程序;可用列表在/etc/shells文件中

-G GROUP1[,GROUP2,…]:为用户指明附加组,组必须事先存在

-N  不创建私用组做主组,使用users组做主组

-r: 创建系统用户 

示例:创建用户hadoop,附加组为bin和root,默认shell为/bin/csh,注释信息为”Hadoop,I’m coming "

blob.png

注:多个附加组以”,”逗号分隔

2、查看用户相关信息:

       id  [options]  usename

              -u UID:查看用户的UID

              -g GID:查看用户的GID

              -G Groups:查看的所有组信息,以GID的形式展现

3、设定密码:管理员可为所有设定密码,普通用户只能为自己设定密码

       passwd

       passwd  [OPTIONS]  UserName

 

4、管理用户

创建用户之后想修改用户的配置,使用usermod命令

usermod  [OPTION]  username

-u UID: 指定新UID

-g GID: 指定新基本组

-G GROUP1[,GROUP2,…[,GROUPN]]]:新附加组,原来的附加组将会被覆盖;若保留原有,则要同时使用-a选项,表示append(追加);

-s SHELL:新的默认SHELL;

-c 'COMMENT':新的注释信息;

-d HOME: 新家目录不会自动创建,原家目录中的文件不会同时移动至新的家目录;若要创建新家目录并移动原家数据,同时使用-m选项

-l login_name: 新的名字;

-L: lock指定用户,在/etc/shadow 密码栏的增加 !;此时用户将不可登录系统

-U: unlock指定用户,将 /etc/shadow 密码栏的 ! 拿掉,即解锁

-e YYYY-MM-DD: 指明用户账号过期日期

 

5、删除用户:

       userdel 命令

       userdel  [OPTION]…  username

              -r 删除用户及其家目录

四、组管理:

       创建、修改、删除

1、创建组

groupadd  [OPTION]…  group_name

       -g GID: 指明GID号

-r: 创建系统组

2、查看组成员或增加、删除组成员

groups  [OPTION]. [USERNAME]… 查看用户所属组列表

groupmems  [options]  [action] 查看或增加、删除组成员

options:

-g, –group groupname 更改为指定组 (只有root)

Actions:

-a, –add username 指定用户加入组

-d, –delete username 从组中删除用户

-p, –purge 从组中清除所有成员

-l, –list 显示组成员列表

例:

       删除bin组里面的成员wobushikaqiusha

blob.png

3、组属性修改: groupmod

groupmod [OPTION]… group

-n group_name: 新名字

-g GID: 新的GID;

4、组删除: groupdel

groupdel GROU

原创文章,作者:M20-1钟明波,如若转载,请注明出处:http://www.178linux.com/27155

(0)
M20-1钟明波M20-1钟明波
上一篇 2016-08-02
下一篇 2016-08-02

相关推荐

  • Linux学习总结及练习&day08-sed文本处理工具

    第一部分、Linux文本处理三剑客之sed(Stream EDitor)文本编辑工具     一、sed的基本功能工作原理     sed是一种流编辑器,它一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令…

    Linux干货 2016-08-10
  • Bash的基础特性(二)

    Bash的基础特性(二) glob文件通配符 (* ; ? ; [ ] ; [^ ] ) 星号* 匹配任意所有字符的 [root@lyp ~]# ls h* hello.sh hello.shbak ?匹配单个字符 ls ???? 查看四个字符命名的文件 [0-9]匹配数字 [a-z] 字母 字母的顺序安装 a A b B c C… z Z 匹配的a-z […

    Linux干货 2017-04-01
  • 计算机基础知识及服务器介绍

    现代计算机组成 根据冯·诺依曼结构体系计算机有五大部件组成: 运算器、控制器、存储器、输入设备、输出设备 CPU=运算器+控制器 运算器由算术逻辑单元(ALU)、累加器、状态寄存器、通用寄存器组等组成。 算术逻辑运算单元(ALU)的基本功能为加、减、乘、除四则运算,与、或、非、异或等逻辑操作,以及移位、求补等操作。 运算器只能进行二进制运算、逻辑运算 控制器…

    Linux干货 2016-06-09
  • vim练习题

    #复制/etc/profile至/tmp/目录,用查找替换命令删除/tmp/profile文件中的行首的空白字符vim /tmp/profile%s@^[[:space:]]+@@g#复制/etc/rc.d/init.d/functions文件至/tmp目录,用查找替换命令为/tmp/functions的每行开头为空白字符的行的行首添加一个#号vim…

    Linux干货 2017-06-03
  • Linux命令的使用格式及部分常用命令详述

    Linux命令的使用格式及部分常用命令详述 Linux系统中命令的使用格式 Linux中命令的使用遵循以下格式 # COMMAND OPTIONS ARGUMENTS   ###命令 选项 参数,三项之间用空格分开 执行一个命令需要指定需要内核将哪一个二进制程序运行为一个进程,C…

    Linux干货 2016-10-30
  • N22-草稿

    testing

    Linux干货 2016-08-08