Linux---05---用户组权限

devtools/2024/9/22 14:49:36/

课程回顾

  • vim编辑器

本章重点

  • 文件权限

  • 用户管理

  • 用户组管理

    一、文件权限

由于Linux是一个多人多任务的系统,因此经常会出现同一台机器同时有多个人进行操作,为了考虑每个人的隐私权以及每个人喜好的工作环境,所以文件的权限归属就至关重要。

为了保障系统的安全性和文件的隐私性,一个文件针对不同权限的账户有着不同的权限,如下图

如图所示,文件权限是由一个字符串所表示,其所代表的含义为

其中,文档类型有如下表示方法:

  • d :目录,例如上表档名为『.gconf』的那一行;

  • -:文档,例如上表档名为『install.log』那一行;

  • l :连结档(link file);b :装置文件里面的可供储存的接口设备(可随机存取装置);

  • c : 装置文件里面的串行端口设备,例如键盘、鼠标(一次性读取装置)。

权限由rwx三个字幕表示,分别表示为可读、可写、可执行,如果没有该权限,则用“ - ”表示,对于目录来说,必须有x权限,否则无法读取目录内容

如果文件名前面有“ . ”,则表示这个文档或目录是隐藏的

二、用户和用户组

2.1 分类

超级用户:root

普通用户

2.2 查看用户信息

当前系统中的用户组信息

vim /etc/group
或者
cat /etc/group

注意:  

  1. 当该组内只有一个用户,并且用户名和组名相同时,在组列表中,包含用户一列可以为空

  2. 系统中root分组的组编号一定为0

  3. 组号1~499为系统预留的组编号,一般是预留给系统安装的软件或者服务的编号,越早安装的软件或者服务的组编号约早。用户手动创建的用户组编号从500开始

  4. 组密码占位符,无一例外,全部用x表示

当前系统中用户组的密码信息

vim /etc/gshadow

注意:

  1. 如果组密码处为“*” “!”或者为空时候,则该组没有密码

  2. 如果组管理者为空,则表示该组内所有成员都可以管理该组

当前系统中所有的用户信息

/ect/passwd

注意:在linux中,超级管理员root的用户编号一定为0

当前系统中所有用户的密码信息

/ect/shadow

注意:密码是一个单向加密过的字符串

2.3 用户操作

2.3.1 创建用户

命令格式:

useradd [参数] 用户名

参数:

  • -d:设置该用户的home目录,默认在home/用户名

例如:useradd -d /home/helloworld hello //新建hello用户,并且将其home目录设置为/home/helloworld

  • -u:设置其userid,默认自动生成

例如:useradd -u 668 hello //新建一个hello用户,将他的id设置为668

  • -g:设置其主组,默认自动添加一个同名的用户组

例如:useradd -g root hello //新建一个hello用户,并将其假如root组

  • -m:生成home目录的文件夹

useradd zhangsan

注意:

  1. 会在/etc/passwd文件中添加xxx用户的信息

  2. 会在/etc/group文件中添加一个名为xxx的用户组信息

  3. 会在/home路径下创建一个同名的文件夹,作为家目录

        

2.3.2 修改用户信息

命令格式:

usermod [参数] 用户名

参数:

  • -l :修改新用户名

​ 例如:usermod -l helloworld hello 将hello用户名改为helloworld,但其home目录不改变

  • -u :修改用户的userid

​ 例如:usermod -u 888 hello 将hello的userid改为888

  • -d :修改用户的home目录,不声明,默认在/home/用户名

  • -g :修改用户的主用户组,不声明,创建同名的用户组

  • -L :锁定用户,使其不能登录

  • -U :解除锁定

2.3.3 删除用户

命令格式:

userdel [参数] 用户名

参数:

  • -r 删除用户的同时将其home目录也删掉

2.3.4 设置密码

passwd 用户名
[root@localhost ~]# passwd test1
Changing password for user test1.
New password: 
BAD PASSWORD: The password is shorter than 8 characters
Retype new password: 
passwd: all authentication tokens updated successfully.

2.3.5 切换用户

[root@localhost ~]# su 用户名

2.4 用户组操作

2.4.1 创建用户组

groupadd 组名

2.4.2 修改用户组

groupmod -n 新组名 旧组名   //修改组名
​
groupmod -g 新组id 旧组id 修改组ID

2.4.3 删除用户组

groupdel 组名

三、权限管理

root 0:root 0

sn 1000 :sn 1000

test2 1002 : sn 1000

test1 1001 :test1 1001

3.1 chmod命令

修改权限

  • 读:r | 4

  • 写:w | 2

  • 执行:x | 1

  • 没有:-

chmod 参数 文件名|文件夹名

可以使用如下方法直接设置文件的权限

使用rwx

用户|用户组|其他用户分别设置权限

chomd 用户+权限 文件
  • 所有者(u) ,组(g) ,其他用户(o) ,全部(a)

  • 新增(+), 撤销(-)

# 文件所有者新增写的权限
chmod u+w 1.txt
​
# 文件所有者撤销写的权限
chmod u-w 1.txt
​
# 其他用户新增读的权限
chmod o+r 1.txt
​
# 所有都新增读的权限
chmod a+r 1.txt

使用数字

  • 读:4

  • 写: 2

  • 执行: 1

0~7:0(没权限),1(执行),2(写),3(写执行),4(读),5(读执行),6(读写),7(读写执行)

chmod 123 文件
  • 1:所有者的权限

  • 2:组的权限

  • 3:其他用户的权限

# 所有者执行权限,组写权限,其他用户写执行权限
chmod 123 1.txt
​
chmod 755 1.txt
​
chmod 777 1.txt

                3.2 chown命令

change owner 的缩写

改变文档所有者,可使用参数 -R使得其子目录也同时修改

chown username 文件名
​
# 同时修改文档或目录的拥有者和所在组
chown username:group 文件名 

3.3 chgrp命令

change group的缩写

改变文档所有组,可使用参数 -R使得其子目录也同时修改

chgrp 组的名字 文件名

修改文件的所属组 以及对应的子目录的所属组

四、sudo命令

4.1 作用

一般用在非root用户下,临时提升非root用户的权限。

sudo 是一个在 Linux 系统中用于执行特权命令的超级用户工具。sudo 命令默认安装在大多数 Linux 发行版中,它可以允许用户以 root 用户权限执行某些命令,只需在 linux 系统/etc/sudoers文件中配置用户和组执行 sudo 命令的权限,root 用户默认配置 sudo 权限。

4.2 sudo 命令的使用

sudo 命令

普通用户使用 sudo 命令需要输入 password 确认是否执行特权命令,而 root 用户使用 sudo 命令不需要输入 password, 因为在 /etc/sudoers 文件中默认配置,允许 root 用户可以在系统任何地方执行任何命令。

# 查看版本信息
sudo -V
​
# 以root身份使用useradd命令创建cat用户
sudo -u root useradd cat
​
# 更改用户密码:
sudo passwd user
​
# 更改用户组:
sudo usermod -G group user
​
# 更改用户主目录的权限:
sudo chown -R user:group /home/document
​
# 更改文件所有者和所属组
sudo chown user:group /home/file
​
# 更改文件权限
sudo chmod -R 755 /home/file

4.3 普通用户

普通用户不能直接使用

# 方法1:使用 root 用户编辑 /etc/sudoers 文件,将用户名添加到 %wheel 组中。
# 例如:%hzk  ALL=(ALL) ALL
%用户名 ALL=(ALL) ALL
​
# 方法2:使用 root 用户编辑 /etc/sudoers 文件,将用户添加到 %wheel 组中,设置不需要密码。
# 例如:%hzk  ALL=(ALL) NOPASSWD: ALL
%用户名 ALL=(ALL) NOPASSWD: ALL

 

让所有的用户都可以使用sudo的命令


http://www.ppmy.cn/devtools/95330.html

相关文章

P2680 [NOIP2015 提高组] 运输计划(树上二分答案)

[NOIP2015 提高组] 运输计划 - 洛谷 核心思路 树上二分答案。答案这个字眼很重要&#xff0c;因为&#xff0c;二分出来的就是答案。 拟合经验。 AC 代码 #include<iostream> #include<vector> #include<cstring> #include<algorithm> #include&l…

C++多态详解

1. 多态的概念 多态就是函数调用的多种形态&#xff0c;使用多态能够使得不同的对象去完成同一件事时&#xff0c;产生不同的动作和结果。 举个栗子&#xff1a;比如买票这个行为&#xff0c;当普通人买票时&#xff0c;是全价买票&#xff1b;学生买票时&#xff0c;是半价买…

创建第一个Qt项目

创建第一个QT项目 创建工程名称一般不要有特殊符号&#xff0c;不要有中文 项目工程保存路径可修改&#xff0c;路径不要带中文 Base class中的三个选项 QMainWindow:主窗口类&#xff0c;包括菜单栏、工具栏、状态栏。 QWidget:可以创建一个空白的窗口&#xff0c;是所有界…

河南萌新联赛2024第(五)场:信息工程大学

A 日历游戏 题目描述 Alice 和 Bob 在玩一个游戏&#xff0c;他们先从 2000.1.1 到 2024.8.1 这个日期之间&#xff08;不包括2024.8.1&#xff09;随意抽取一个日期出来。然后他们轮流对这个日期进行操作&#xff1a; 把日期的天数加 1&#xff0c;例如&#xff1a;2000.1.1…

得到任务式 大模型应用开发学习方案

根据您提供的文档内容以及您制定的大模型应用开发学习方案&#xff0c;我们可以进一步细化任务式学习的计划方案。以下是具体的任务式学习方案&#xff1a; 任务设计 初级任务 大模型概述&#xff1a;阅读相关资料&#xff0c;总结大模型的概念、发展历程和应用领域。深度学…

配置访问权限|预防数据泄漏

IT行业正在以闪电般速度发展&#xff0c;而网络攻击也随之激增。在今年4月份的IT数据泄漏报告中&#xff0c;教育行业数据泄漏事件数量最多&#xff0c;其次是医疗保健行业、IT服务和软件行业。 为什么有许多数据泄漏事件&#xff1f; 通常是由于缺乏访问权限的认证&#xff0…

大模型微调--文章1

原文地址 链接&#xff1a;https://zhuanlan.zhihu.com/p/635152813 思考题 问题1&#xff1a;self attention对于计算的并行性体现在哪里&#xff1f;&#xff08;解决&#xff09; 答案&#xff1a; 1.矩阵运算的并行性 2.多头注意力的并行性 3.无序列依赖性&#xff08;写…

snowflake 跨 region sharing

在现代数据管理和分析领域&#xff0c;Snowflake凭借其独特的多云数据平台优势&#xff0c;成为许多企业的数据解决方案首选。Snowflake的跨区域&#xff08;cross-region&#xff09;数据共享功能是其重要特性之一&#xff0c;能够让企业在全球不同地理位置之间无缝共享数据。…