共计 3696 个字符,预计需要花费 10 分钟才能阅读完成。
本文丸趣 TV 小编为大家详细介绍“linux 用户组分为哪些类型”,内容详细,步骤清晰,细节处理妥当,希望这篇“linux 用户组分为哪些类型”文章能帮助大家解决疑惑,下面跟着丸趣 TV 小编的思路慢慢深入,一起来学习新知识吧。
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 用户组分为哪些类型”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注丸趣 TV 行业资讯频道。