«

linux用户组分为哪些类型

时间:2024-8-3 07:37     作者:韩俊     分类: Linux


本文小编为大家详细介绍“linux用户组分为哪些类型”,内容详细,步骤清晰,细节处理妥当,希望这篇“linux用户组分为哪些类型”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。

linux用户组有2种:1、基本组  (  私有组  );建立账户时,若没有指定账户所属的组,系统会建立一个和用户名相同的组,这个组就是基本组。2、附加组  (  公有组  ),可以容纳多个用户,组中的用户都具有组所拥有的权利。

linux用户和组的分类

1、linux下的用户可以分为3类

    超级用户 —— 用户名为 root ,它具有一切权限,只有进行系统维护 ( 例如:建立用户等 ) 或其他必要情形下才用超级用户登录,以避免系统出现安全问题。

    系统用户(伪用户) —— 是 Linux 系统正常工作所必需的用户。主要是为了满足相应的系统进程对文件属主的要求而建立的,例如: bin 、 daemon 、 adm 、 lp 等用户。系统用户不能用来登录。

    普通用户——是为了让使用者能够使用Linux系统资源而建立的,我们的大多数用户属于此类。

2、linux中的组有以下两类:

    基本组  (  私有组  )  :建立账户时,若没有指定账户所属的组,系统会建立一个和用户名相同的组,这个组就是基本组。

    附加组  (  公有组  )  :可以容纳多个用户,组中的用户都具有组所拥有的权利。

3、linux中用户组和用户的配置文件

在linux中,用户账号,密码、用户组信息,和用户组密码是存放在不同的配置文件中的。

文件功能文件名称

用户帐号文件

/etc/passwd
用户密码/etc/shadow
用户组帐号文件/etc/gruoup
用户组密码文件/etc/gshadow

(1)用户账号文件——/etc/passwd

passwd   是一个文本文件,用于定义系统的用户账号,由于所有用户都对   passwd   有读权限,所以该文件中只定义用户账号,而不保存口令。   

#   每行定义一个用户账号信息,每行由   7   个字段组成,字段之间用   “:”   分隔,其格式如下:  

账号名称   :   密码   :UID:GID:   个人资料   :   主目录   :Shell  

/etc/passwd   文件中字段说明   

    账号名称:用户登录   Linux   系统时使用的名称。

    密码:以前是以加密格式保存密码的位置,现在密码保存在   /etc/shadow   文件中,此处只是密码占    位符   “x”   或   “*”   。若为   “x”   ,说明密码经过了   shadow   的保护。

    UID   :用户的标识,是一个数值,用它来区分不同的用户,每个用户都有一个   UID   数值:

    超级用户的   UID——0  

    系统用户的   UID——1   ~   999

    普通用户的   UID——   ≥   1000

    GID   :用户所在基本组的标识,是一个数值,用它来区分不同的组,相同的组具有相同的   GID   。

    个人资料:可以记录用户的完整姓名、地址、办公室电话、家庭电话等个人信息。

    主目录:类似   Windows   的个人目录,通常是   /home/username   ,这里   username   是用户名,用户    执行   “cd   ~   ”   命令时当前目录会切换到个人主目录。

    Shell   :定义用户登录后激活的   Shell   ,默认是   Bash Shell

(2)用户密码文件——/etc/shadow

#每行定义了一个用户信息,行中各字段用“:”隔开,其格式如下:   

登录名:加密口令:最后一次修改时间:最小时间间隔:最大时间间隔:警告时间:不活动时间:失效时间:标志  

/etc/shadow文件中的每行9个字段的含义分别为字段

    登录名 :登录名

    加密口令 :使用SHA-512/SHA-256/MD5算法加密后的密码( $id$,  id为1示 md5,5表示sha256, 6为sha512),若为空,表示该用户无需密码即可登录,若为“*” 表示该账号不 能用于登录系统,若为“!”表示该账号密码已被锁定

    最后一次修改时间 :最近一次更改密码的日期,以距离1970年1月1日的天数表示

    最小时间间隔 :密码在多少天内不能被修改。默认值为0,表示不限制

    最大时间间隔 :密码在多少天后必须被修改。默认值为99999,表示不进行限制

    警告时间 :提前多少天警告用户密码将过期,默认值为7天,0表示不提供警告

    不活动时间 :密码过期多少天后禁用此用户

    失效时间 :密码失效日期,以距离1970年1月1日的天数表示,默认为空,表示永久可用    标志:保留未用,以便以后发展之用

查看用户上次一次修改root密码的日期  

(3)用户组账号文件——/etc/group

系统中的每个组,在/etc/group文件中有一行记录,任何用户均可以读取用户组账户信息配置文件。  

字段说明

    Groupname :组的名字

    Passwd :组的加密口令

    GID :是系统区分不同组的ID,在/etc/passwd域中的GID字段是用这个数来指定用户的基本组

    Userlist :是用“,”分开的用户名,列出的成员以该组为附加组。

作业:

1、创建用户lockuser, 并指定家目录为/home/lock, 然后锁定该用户

2、解锁lockuser, 并设定下次登录时必须修改密码

3、创建用户testuser并设置密码,修改用户名为normaluser

4、创建文件,查询文件的acl,为文件设置acl 用户为testuser1 权限为 rwx,为文件设置acl的mask: 权限为r-x

5、设置suid,为文件设置suid(两种方式 u+s和nnnn)的方式
6、设置sgid, 为文件设置sgid(两种方式 g+s和nnnn)的方式
7、设置sbit,为目录设置sbit(两种方式 o+t和nnnn)的方式

Linux 添加用户至用户组

通过使用 Linux 命令行的几个的示例,逐步向你展示如何在 Linux 上将用户添加到用户组中,以及如何在 Linux 上添加用户和组。这些命令应该可以在任何 Linux 发行版上工作,并且已经在CentOS、Debian 和 Ubuntu 上进行过测试。

添加一个新用户到用户组

一个 Linux 用户可以有一个主组(Primary group)和一个或多个附属组(Secondary groups)。这些组可以在创建用户时作为

adduser
命令的参数。

所有命令都必须以

root
用户的身份执行。在 Ubuntu 上,请在所有命令前加上
sudo
,或者运行
sudo -s
切换到
root
用户。

添加用户组

作为第一步,我将添加两个新的用户组,分别是

family
friends

groupadd family
groupadd friends

添加新用户至单个用户组

下面我将一个新用户

tom
,同时将用户添加到用户组
family
family
用户组将通过使用
-G
参数作为一个附属组添加。

useradd -G family tom

添加新用户到多个用户组

tom
现在是
family
用户组的一个用户。参数
-G
允许指定多个用户组,每个用户组之间使用逗号进行分隔。如果要将用户
tom
添加到
family
friends
两个用户组,使用下面的命令:

useradd -G family,friends tom

设置用户密码

请注意,新的 Linux 用户

tom
还没有密码,所以无法登录。要设置此用户的密码,可以执行下面的命令:

passwd tom

并在命令请求时输入两次新密码。

在上面的示例中,我们将用户

tom
添加到辅助组中,
adduser
命令自动创建了一个新的主组,并将该组分配为主组。

    用户名: tom

    主组: tom

    附属组: family(或者使用第二个案例添加 family 和 friends 两个附属组)

设置新的主组

也许你想在添加

tom
用户时,设置主组为
family
(而不是默认创建的
tom
用户组),附属组为
friends
,可以使用这个命令:

useradd -g family -G friends tom

使用

man
命令可以获得
useradd
命令的所有命令行选项的详细描述:

man useradd

将已有的用户添加至用户组

对于这个任务,我们将使用

usermod
命令。
usermod
命令可以修改用户的各种选项,包括用户的组成员关系。

首先,我将添加第三个用户组

colleagues

groupadd colleagues

使用

usermod

我将

colleagues
用户组作为附属组添加到用户
tom

usermod -a -G colleagues tom

命令解释:

-a
表示
append
,它只能与
-G
选项(附属组)组合使用。所以最终我们将
tom
用户添加到
colleagues
用户组中,这个用户组是用户的一个附属组。

-G
选项可以指定多个用户组,每个用户组之间使用逗号进行分隔。例如:
-G group1,group2,group3

如果想要修改

tom
用户的主组为
family
,可以使用命令:

usermod -g family tom

使用

man
命令可以获取
usermod
命令的所有命令行选项的详细说明:

man usermod

标签: linux

热门推荐