用户和组的介绍
超级用户:root用户是linux系统中默认的超级用户,对系统拥有最高权限,当进行系统管理、 维护任务时,才建议使用root用户。日常事务处理
普通用户:普通用户账号需要由root用户或者其他管理员用户创建,拥有一定的权限,一般只在用户自己的家目录中拥有完整权限。
程序用户:在安装Linux系统及部分应用程序时,会添加一些特定的低权 限用户账号,这些用户一般不允许登录到系统,而仅用于维持 系统或某个程序的正常运行。
组账户介绍
概述:将多个用户集合在一 起,就构成了一个用户组。每一个用户账号至少属于一个组,这个组称为该用户的 基本组(或主要组),如果该用户同时还包括在其他的组中,则这些组称为该用户 的附加组。
对组账号设置的权限,将适用于组内的每一个用户账号。
例如:用户marry是技术部的员工,与部门内的其他同事同属于基本组itech, 后来因工作安排需要,公司将marry加入到邮件管理员组emails,此时用户 marry同时属于itech组和emails组,则itech组是其基本组,而emails组是其 附加组
UID和GID
UID:是用户ID,范围在(1~999),其中root用户的UID为0,UID号默认为1~999,而1000以后的的UID号默认分配给普通用户使 用。
GID:是组ID,范围在(1000~60000),其中root组的GID为0,程序组账号的GID号默认为1~999,而1000以后的 GID号默认分配给普通组使用
用户账户文件
用户账号相关的配置工作主要有两个,分别是/etc/passwd、 /etc/shadow。
/etc/passwd:用于保存用户名称、宿主目录、登录Shell等基本 信息。
第1字段:用户账号的名称。
第2字段:用户的密码曾以加密格式存储在此处,现在它已经移至/etc/shadow文 件中。该字段现在始终为密码占位符“x”。
第3字段:用户账号的UID号。
第4字段:所属基本组(主要组)账号的GID号。
第5字段:用户全名,可填写与用户相关的说明信息。
第6字段:用户的主目录。这是shell启动时的初始工作目录,其中包含有用户数据 和配置设置。
第7字段:用户的默认shell程序,会在登录时运行。对于普通用户,这通常是提供 用户命令行提示符的程序。如果系统用户不允许进行交互式登录,该用户可能会使 用/sbin/nologin。
/etc/shadow:用于保存用户的密码、账号有效期等信息。
每一行内容,包含了用冒号“:”分隔的9个配 置字段,从左至右字段的含义如下:
第1字段:用户账号名称。
第2字段:(sha-512哈希加密):“*”“!!”时,表示此用户不能登录系统。为空,就是该用户登录系统无需密码
第3字段:上次修改密码的时间,表示从1970年01月01日算到最近修改密码时间隔的 天数。 第4字段:密码的最短有效天数,自本次修改密码后,必须至少经过该天数才能再次修 改密码。默认值为0,表示不进行限制。
第5字段:密码的最长有效天数,自本次修改密码后,经过该天数以后必须再次修改密 码。默认值为99999,表示不进行限制。
第6字段:提前多少天警告用户口令将过期,默认值为7。
第7字段:非活动期。一旦密码过期,在这些天内仍可以接受登录,过了这一时期后, 账户将被锁定。
第8字段:账号失效时间,此字段指定了用户作废的天数(从1970年01月01日起计 算),默认值为空,表示账号永久可用。 第9字段:保留字段,目前没有特定用途。
第9字段:保留字段,目前没有特定用途。
组账户文件
组账号相关的配置文件有两个,分别是/etc/group和 /etc/gshadow。前者用于保存组账号名称、GID号、组成员等基 本信息,后者用于保存组账号的加密密码字串等信息(但是很少使 用到)。某一个组账号包含哪些用户成员,将会在group文件内最 后一个字段中体现出来(基本组对应的用户账号默认可能不会列 出),多个组成员之间使用逗号“ , ”分隔。
管理用户账户和组账户
添加用户账户
useradd
1、useradd 添加用户 useradd 【选项】【用户】
-u:指定用户的UID号,要求该UID号码未被其他用户使用。
-d:指定用户的宿主目录位置。
-g:指定用户的基本组名(或使用GID号)。
-G:指定用户的附加组名(或使用GID号)。
-s:指定用户的登录Shell。
-c:指定描述信息
passwd命令
用来修改密码,可以添加的参数如下
-d:清空指定用户的密码,仅使用用户名即可登录系统。
-l:锁定用户账户。
-S:查看用户账户的状态。
-u:解锁用户账户。
修改账户用户
usermod
-u:修改用户的UID号。
-d:修改用户的主目录位置。
-e:修改用户的账号失效时间,可使用YYYY—MM—DD的日期格式。
-g:指定用户的基本组名(或使用GID号)。
-G:指定用户的附加组名(或使用GID号)。
-M:不为用户建立并初始化宿主目录。
-s:指定用户的登录Shell。
-L:锁定用户账号。
-U:解锁用户账号。
删除用户账户
userdel
创建一个新的用户时,四个配置文件会发生改变,-passwd shadow group gshadow
此时加上-r会删除6个文件,包括家目录文件和邮件问价
添加组账户
groupadd命令
添加组账号 groupadd命令可以添加一个组账号,需要指定GID号时可以使用“-g”选项。
gpasswd命令
添加、删除组成员 – 该命令更多地被用来管理组账号的用户成员。需要添加、删除组成员用户时,可 分别使用“-a”“-d”选项。 – 如果需要同时操作多个成员用户,设置组的成员列表,可以使用“-M”选项。
groupdel命令
删除组账号 –当系统中的某个组账号已经不再使用时,可以使用groupdel命令将其删除,需要 添加指定的组账号名称作为参数。
本地用户和组的管理
groups命令
查询用户账号所属的组 使用groups命令可以查看指定的用户账号属于哪些组。
id命令
查询用户账号的身份标识 – 使用id命令可以快速查看指定用户账号的UID、GID等标识信息。
w命令
查询当前主机的用户登录情况 – “w”命令可以查询当前主机的用户登录情况,列出登录账号名称、所在终端、登 录时间、来源地点等信息。
简洁版
-useradd、userdel、usermod
1、useradd 添加用户 useradd 【选项】【用户】
-u:指定用户的UID号,要求该UID号码未被其他用户使用。
-d:指定用户的宿主目录位置。
-g:指定用户的基本组名(或使用GID号)。
-G:指定用户的附加组名(或使用GID号)。
-s:指定用户的登录Shell。
-c:指定描述信息
2、passwd 设置密码
passwd 用户名(普通用户只用输入命令)
-d:清空指定用户的密码,仅使用用户名即可登录系统。
-l:锁定用户账号。
-S:查看用户账号的状态(是否被锁定)。
-u:解锁用户账号。
3、usermod 修改用户属性 usermod 【选项】 【用户】
-u:指定用户的UID号,要求该UID号码未被其他用户使用。
-d:指定用户的宿主目录位置。
-g:指定用户的基本组名(或使用GID号) 。
-G:指定用户的附加组名(或使用GID号)。
-s:指定用户的登录Shell。
-L:锁定用户账号
-U:解锁用户账号
4、userdel 删除用户
userdel 【用户】
--删除4个配置文件--passwd shadow group gshadow
userdel -r 【用户】
--删除该用户所有的文件,总6个文件
多一个家目录文件、一个邮件的文件
5、groupadd 组名(创建组)
groupdel 组名(删除组)
gpasswd 组名(设置组密码)
-a 把用户添加到组里面
-d 把用户从组里面移除
gpasswd -a 用户 组名 ---添加
gpasswd -d 用户 组名 ---删除
groups 【用户】 查看用户所属组
小实验
权限委派,将root的权限给到普通用户使用
首先配置文件/etc/sudoers
再找到102行添加参数
加上NOPASSWD使得普通用户在执行命令的时候不需要输入root的秘密
用户tom00是在HR这个组里面,所以将HR委派权限使得组里面的成员也有权限使用
切换到tom00中执行命令,创建用户marry
此时成功创价吗marry用户。