Linux1.0 用户与用户组


用户与用户组

1.文件拥有者

由于Linux是一个多人多任务的系统,因此可能常常会有多人同时使用这台主机来进行工作的情况,为了考虑每个人的隐私权以及每个人喜好的工作环境,因此文件拥有者这个角色就显得尤为重要

添加新的用户账号

useradd 选项 用户名

  • -c comment 指定一段注释性描述
  • -d 目录 指定用户主目录,如果此目录不存在,则同时使用-m选项,可以创建主目录
  • -g 用户组 指定用户所属的用户组
  • -G 用户组,用户组 指定用户所属的附加组
  • -s Shell文件 指定用户的登录Shell
  • -u 用户号 指定用户的用户号,如果同时有-o选项,则可以重复使用其他用户的标识号

例:

创建一个用户sam,其中-d和-m选项用来为登录名sam产生一个主目录/home/sam

image-20240326151054166

创建一个用户gem,该用户的登录Shell是/bin/sh,属于group用户组,同时又属于adm和root用户组,其中group用户组是其主组

① 创建用户组

② 创建用户

image-20240326151600042

删除用户账号

userdel 选项 用户名

-r 把用户的主目录一起删除

例:

image-20240326152150103

修改账号

usermod 选项 用户名

  • -c comment 指定一段注释性描述
  • -d 目录 指定用户主目录,如果此目录不存在,则同时使用-m选项,可以创建主目录
  • -g 用户组 指定用户所属的用户组
  • -G 用户组,用户组 指定用户所属的附加组
  • -s Shell文件 指定用户的登录Shell
  • -u 用户号 指定用户的用户号,如果同时有-o选项,则可以重复使用其他用户的标识号
  • -o 可以重复使用其他用户的标识号

例:

将sam的登录shell改为ksh,主目录改为/home/z,用户组改为developer

usermod -s /bin/ksh -d /home/z -g developer sam

用户口令管理

passwd 选项 用户名

  • -l 锁定口令,即禁用账号
  • -u 口令解锁
  • -d 使账号无口令
  • -f 强迫用户下次登陆时修改口令

例:

为用户指定空口令

passwd -d sam

image-20240327104615873

删除sam的密码,使sam下一次登陆时系统不允许该用户登录

passwd -l sam

image-20240327104742684

2.用户组的概念

进行团队协同工作时非常有用。

用户组相当于一个个社团,内部成员就是用户组内的成员,同时一个账号可以有多个用户组的支持,可以理解为多个社团有同一个指导老师

新增用户组

groupadd 选项 用户组

  • -g GID 指定新用户组的组标识号(GID)
  • -o 一般与-g选项同时使用,表示新用户组的GID可以与系统已有用户组的GID相同

例:

向系统中新增组group1,新租的组标识号使当前已有的最大组标识号的基础上加一

groupadd group1

image-20240327141926804

向系统中增加了一个新组group2,同时指定新组的组标识号是101

groupadd -g 101 group2

image-20240327142107182

删除一个已有的用户组

groupdel 用户组

例:

删除组group1

groupdel gruop1

image-20240327143643249

修改用户组的属性

groupmod 选项 用户组

  • -g GID 为用户组指定新的组标识号
  • -o 一般与-g选项同时使用,表示新用户组的GID可以与系统已有用户组的GID相同
  • -n 新用户组 将用户组的名字改为新名字

例:

将group2的组标识号改为102

groupmod -g 102 group2

image-20240327144027748

将group2的组标识号改为10000,组名修改为group3

groupmod -g 10000 -n group3 group2

image-20240327144135427

如果一个用户同时属于多个用户组,那么用户可以在用户组之间切换,以便具有其他用户组的权限

用户可以在登陆后,使用newgrp切换到其他用户组,参数就是目的用户组

newgrp root

将当前用户切换到root用户组,前提是root用户组确实是该用户的主组或附加组。

3.其他人的概念

不是该用户组的成员都是其他人,在Linux里,任何一个文件都具有用户(User)、所属群组(Group)、其他人(Others)三种身份的个别权限。

root是万能的!。

Linux用户身份与用户组记录的文件

在Linux系统中,默认情况下所有系统上的账号与一般身份用户,还有那个root的相关信息,都记录在/etc/passwd这个文件内,至于个人的密码则是记录在/etc/shadow这个文件内,此外,Linux所有的组名都记录在/etc/group中。这三个文件可以说是Linux系统里面账号密码用户组信息的集中地,不要随便删除。


文章作者: Feliks
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Feliks !
评论
  目录