Linux基本操作命令(4)账号与权限管理

前言

本文讲述了Linux基本操作命令中的账号与权限管理,并根据用户管理、组管理、查询账号信息、切换用户、文件权限五大方面进行了总结概括。

一、用户管理

1.1 用户账号和组账号概述

1.1.1 用户分类

Linux 中的用户分为三种角色:超级用户、普通用户和程序用户,每个角色有不同的权限和用途,理解这些角色及其对应的权限设置是系统管理的基础。
① 超级用户(Root)
定义:Root 用户是 Linux 系统中的管理员账户,拥有系统的所有权限。类似于 Windows 系统中的Administrator 用户。Root 用户对系统的任何部分都拥有完全的控制权,可以执行任何操作,包括安装软件、修改系统配置和管理用户账户等。
UID:root用户的UID与GID都是0
注:root用户可以执行需要管理员权限的操作
② 普通用户
定义:只能由管理员Root账户所创建,使用权限较小,一般情况下只有在自己的目录中的控制权限。
UID:CentOS 7中普通用户的UID为1000+,CentOS 6中普通用户的UID为500+。
③ 程序用户(系统用户)
定义:程序用户(或系统用户)是安装 Linux 操作系统和应用程序时创建的低权限用户,通常用于运行系统服务或特定程序。这些用户不能登录系统,它们的主要任务是维持某个服务的正常运行。
UID:在CentOS 7中程序用户的UID为1~999,在CentOS 6中的UID为1 ~ 499。
注:它们通常不用于登录系统,而是为系统进程提供服务。

1.1.2 组账号的分类

Linux 系统通过将用户分配到不同的组来实现权限的管理。每个用户至少属于一个组,这个组是用户的基本组(或私有组)。用户还可以属于多个附加组,用于共享文件和服务。
① 基本组(主组)
定义:基本组是用户默认所在的组,一般情况下与用户的用户名一样,每个用户在创建时会自动拥有一个与用户名相同的基本组。如图中所示,括号中的xiajinyang变为基本组。
在这里插入图片描述
② 附加组
定义:附加组是用户除了基本组之外,可以加入的其他组,一个用户可以加入多个附加组,用于访问该组所授权的资源。这些附加组的权限会影响所有加入该组的用户。下图中wheel为附加组。
在这里插入图片描述

1.1.3 UID和GID

UID:UID是每个用户的身份标识,是每个用户独有的,在CentOS 7中普通用户的UID为1000+,系统用户为1~999,在CentOS 6中普通用户的UID为500+,系统用户为1 ~499
GID:GID是每个组的基本标识,同一个组中的用户拥有相同的UID,并且每个用户至少有一个组,用户组用于管理一组具有相同权限的用户,文件和目录的访问权限通常由文件的 GID 来决定。
CentOS 7————————普通组(1000+),系统组(1~999)
CentOS 6————————普通组(500+),系统组(1~499)

1.2 用户账号文件

1.2.1 passwd文件

passwd文件位于根目录下的etc目录中,passwd文件在Linux系统中保存了所有用户的基本信息,而用户的密码信息和一些安全设置则保存在 /etc/shadow 文件中。密码的加密存储在 /etc/shadow 文件中, /etc/passwd 文件只存储占位符(如 x 或 !! ),以确保密码的安全。

1.2.2 passwd文件格式

由图所示,从左到右由“:”来隔开
xiajinyang——————用户名
x——————密码占位符
1000——————UID,默认用户的UID按创建顺序来排,从1000开始
1000——————GID,默认用户的UID按创建顺序来排,从1000开始
root——————一般用于描述该用户的详细信息,通常为用户的全名或其他信息。
/home/xiajinyang——————用户的宿主目录,通常为/home/用户名
/bin/bash——————用户登录后默认shell程序
在这里插入图片描述

1.3 添加用户账号(useradd)

1、useradd -u:指定用户的 UID 号,要求该 UID 号码未被其他用户使用。
2、useradd -d:指定用户的宿主目录位置(当与-M 一起使用时,不生效)。
3、useradd -e:指定用户的账户失效时间,可使用 YYYY-MM-DD 的日期格式。
4、useradd -g:指定用户的基本组名(或使用 GID 号)。
5、useradd -G:指定用户的附加组名(或使用 GID 号)。
6、useradd -M:不建立宿主目录,即使/etc/login.defs 系统配置中已设定要建立宿主目录。
7、useradd -s:指定用户的登录Shell。
例如,在这里指定xxx用户的UID号为1500,基本组为100
在这里插入图片描述

1.4 更改用户口令

1、passwd xxx————————设置xxx的密码,但是设置密码时,密码不会显示。
2、echo “密码” | passwd --stdin xxx——————设置xxx的密码,设置密码是会显示
3、passwd -d:清空指定用户的密码,仅使用用户名即可登录系统。
4、passwd -l:锁定用户账户。(被锁定的用户不可用普通用户登录)
5、passwd -S:查看用户账户的状态(是否被锁定)。
6、passwd -u:解锁用户账户。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

1.5 删除用户账号

userdel -r 用户名(这里加上参数r会删除用户的宿主目录)
在这里插入图片描述

1.6 用户账号的初始配置文件

1.6.1 账号初始配置的作用

① 来源目录:
当使用 useradd 创建新用户时,系统会从 /etc/skel/ 复制默认配置文件到新用户的家目录。
② 常见文件:
.bash_profile :登录时执行的命令。
.bashrc :每次加载 bash 时执行(包括登录)。
.bash_logout :用户退出登录时执行
③ 所有用户都可以使用
如果希望为所有用户添加登录后自动运行的命令程序(相当于一个快捷键或脚本)
1、在root用户或拥有与root相同权限的用户下修改/etc/bashrc文件
2、找到“if”,在if下方空白处,别名命令(alias)
3、刷新
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

1.6.2 用户账号的初始配置文件

1、.bash_profile:示例代码中为用户添加了2个环境变量(JAVA_HOMECLASSPATH),并修改了已有环境变量PATH的值.(PATH的查找是从前开始查找,找到就返回)
CLASSPATH环境变量的值是在JAVA运行时查找加载类的默认classpath
2、.bashrc :例子中定义了路径,语言,命令别名(使用rm删除命令时总是加上-i参数需要用户确认,使用ls命令列出文件列表时加上颜色显示)。
每次修改.bashrc后,使用source ~ /.bashrc(或者 . ~ /.bashrc)就可以立刻加载修改后的设置,使之生效。一般会在.bash_profile文件中显式调用.bashrc。登陆linux启动bash时首先会去读取~ /.bash_profile文件,这样~/.bashrc也就得到执行了,你的个性化设置也就生效了。
3、关于环境变量的读取顺序
登录的数据流向
用户登录 ->> 加载~ /.bash_profile --> bash_profile中配置了首先是使~/.bashrc生效
4、.bash_logout (登出命令)
~/ . bash_logout在当前用户登出时,打印出Logout 和当前的时间echo "Logout, date "

二、组管理

2.1 组账号文件

与组账号相关的配置文件也有两个,分别是/etc/group 和/etc/gshadow。前者用于保存 组账号名称、GID 号、组成员等基本信息,后者用于保存组账号的加密密码字串等信息(但 是很少使用到)。某一个组账号包含哪些用户成员,将会在 group 文件内最后一个字段中体 现出来(基本组对应的用户账号默认可能不会列出),多个组成员之间使用“,”(逗号)分隔。
1、grep “^组名” /etc/group——————搜索组中有哪些用户
在这里插入图片描述
2、grep “用户” /etc/group——————哪些组中有该用户
在这里插入图片描述

2.2 添加组账号groupadd

groupadd -g GID 要添加的组名
在这里插入图片描述

2.3 删除组账号groupdel

groupdel 要删除的组名
在这里插入图片描述

三、查询账号信息

1、groups 用户名——————查询该用户在哪些组中
在这里插入图片描述2、id 用户名——————查询该用户的身份标识
在这里插入图片描述
3、finger 用户名——————查询该用户的详细信息
在这里插入图片描述
4、w、who、users——————查询已登录到主机的用户的信息
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

四、su命令切换用户

4.1 用途及用法

1、su 另一个用户——————切换到另一个用户,切换之后所在的目录为,切换之前所在的目录。
在这里插入图片描述

2、su - 另一个用户——————切换到另一个用户,但是切换之后默认在另一个用户的目录。
在这里插入图片描述

4.2 密码验证

1、root用户切换到普通用户不要密码
在这里插入图片描述
2、普通用户切换任何用户需要密码
在这里插入图片描述

5 文件权限

5.1 查看目录和文件的属性

读取 r:允许查看文件内容、显示目录列表
写入 w:允许修改文件内容,允许在目录中新建、移动、删除文件或子目录
可执行 x:允许运行程序、切换目录
使用对象:属主(u)、属组(g)、其他用户(o)、所有用户(a)
格式:-rwx-w-r-x
在这里插入图片描述
属主:拥有该文件或目录的用户帐号
属组:拥有该文件或目录的组帐号
r(可读)的对应数字————4
w(可写)的对应数字————2
x(可执行)的对应数字————1
若所属用户可以读、写、执行,属组可读、其他用户可读,则对应数字为7,4,4(为三者相加)
设置权限:chmod 数字 对象(文件、目录)
(例如chmod 744 a.txt,则a.txt权限为-rwxr–r–)
在这里插入图片描述也可以用“+与-”的方法,例如此时a.txt为744,要将属主的权限改为可以读和执行,则可以减去属主的写权限
在这里插入图片描述

5.2 设置文件和目录的归属chown

1、只改属主:chown 属主 文件或目录
2、只改属组:chown :属组 文件或目录
3、改主和组:chown 属主:属组 文件或目录
在这里插入图片描述

总结

本文讲解了Linux基本操作命令中的账号与权限管理,并根据用户管理、组管理、查询账号信息、切换用户、文件权限五大方面进行了总结概括。希望本文对您有所帮助,谢谢观看😜

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值