学Linux的第六天

目录

账户和组管理

工作组管理

创建工作组groupadd

修改工作组groupmod

添加/删除组成员gpasswd

删除工作组groupdel

查看用户登录系统的情况

users查看当前登录系统的用户

last命令

lastlog命令

w命令 显示登录到系统的用户信息

who命令

Linux文件系统权限

文件的一般权限

文件详细信息

文件权限构成

chmod(change mode):修改文件或目录的权限

chown命令 修改文件或目录的所有者和属组

特殊权限

SUID权限

SGID 权限

Sticky Bit权限

设置特殊权限

ACL 权限给指定的用户指定目录分配指定的权限。

查看ACL权限getfacl

设定ACL权限setfacl

权限掩码umask

查看默认umask值

修改默认umask


 

账户和组管理

工作组管理

创建工作组groupadd

groupadd -参数 工作组名

参数
-g GID :指定新工作组的 GID ,默认值是已有的最大的 GID 1
-r : 建立一个系统组账号,与 -g 不同时使用时 , 则分配一个 1 999 GID
[root@server ~] # groupadd group2 -g 2000
//添加一个组 ID 2000, 组名为 group2 的新组

修改工作组groupmod

groupmod -参数 工作组名

参数
-g GID—— 为用户组指定新的组标识号
-n 新用户组 —— 将用户组的名字改为新名字修改用户组的名称和用户组的 GID
将组 group1 GID 修改为 3000, 组名修改为 group11
[root@server ~] # groupmod -g 3000 -n group11 group1

添加/删除组成员gpasswd

gpasswd - 参数 账户 工作组
-r : 删除组密码
-a : 把用户加入组
-d : 把用户从组中删除。
-M : 可同时添加多个用户
-A : 给组指派管理员。
只有 root 用户和组管理员才能够使用该命令

删除工作组groupdel

groupdel 工作组名
被删除的组若是基本组,则必须先删除引用该基本组的用户,然后再删除该基本组

查看用户登录系统的情况

users查看当前登录系统的用户

[root@server ~]# users

last命令

列出目前与过去登入系统的用户相关信息,该命令默认会去读取 /var/log/wtmp 文件,并把该文件
记录的登入系统的用户名单全部显示出来

lastlog命令

查看每个账号的最近登录时间,该命令会读取 /var/log/lastlog 文件

w命令 显示登录到系统的用户信息

who命令

显示目前登录到系统的用户,会从/var/run/utmp 文件来获取信息

Linux文件系统权限

文件的一般权限

文件详细信息

使用命令 ll ls -l 查看

文件权限构成

r read ) 可以读取文件的内容
可以列出目录的内容,即目录下的文件的文件名
w write ) 可以更改文件的内容
可以创建或者删除目录中的任一文件(只有 w 权限无法创建删除文件,需要和x 权限一起使用)
x (execute ) 可以作为可执行文件,如脚本
可以切换到目录,如 cd 命令
root 账户不受文件权限的读写限制,执行权限受限制

chmod(change mode):修改文件或目录的权限

chmod [ 选项 ] [ugoa][ + - = ][rwx] 文件或目录 ...
chmod [ 选项 ] nnn 文件或目录 ...
-R :递归修改指定目录下所有文件、子目录的权限
ugoa :表示权限设置所针对的用户类别,可以是其中字母中的一个或组合, u(user) 表示文件或目录
的属主 ( 所有者 ) g(group) 表示属组内的用户; o(others) 表示其他用户; a(all) 表示所有用户 (
u+g+o)
+ - = :表示设置权限的操作动作, + 代表添加; - 代表取消; = 表示只赋予给定的权限,并取消原
有的权限。
rwx :用字符形式表示的所设置的权限,可以是其中一个字母或组合
nnn :用数字表示的权限

chown命令 修改文件或目录的所有者和属组

chown - 参数 所有者:所属组 文件名或目录名
# 参数 -R 递归设置

特殊权限

UID(SUID) SET GID(SGID) Sticky Bit( 粘滞位 ) 三种特殊权限,用于对文件或目录进行更加灵活方便的访问控制

SUID权限

让一般用户在执行某些程序的时候, 在程序的运行期间, 暂时获得该程序文件所属者的权限。

如果这个所有组是root,加s是新建文件所有组还是root,权利提升
-rwsr-xr-x 这样

suid 仅对二进制文件有效
在执行过程中,调用者会暂时获得该文件的所有者权限
该权限只在程序执行的过程中有效

SGID 权限

文件: 如果 SGID 设置在二进制文件上, 则不论用户是谁,在执行该程序的时候,程序的所属组将
会变成该程序文件的所属组。
目录:如 果 SGID 是设置在 A 目录上, 则在 A 目录内所建立的文件或目录的所属组, 将会是此 A
目录的所属组

Sticky Bit权限

是在其他人后面加t,只能被文件里的所有者写,

设置特殊权限

为文件或目录添加三种特殊权限同样可以通过 chmod 命令来实施 , 使用 “u±s” “g±s” “o±t” 的字符权
限模式分别用于添加和移除 SUID GUID sticky 权限。
若使用数字形式的权限模式 , 可采用 “nnnn” 格式的四位八进制数字表示,其中:后面三位是一般权限
的数字表示,前面第一位则是特殊权限的标志数字:
0—— 表示不设置特殊权限
1—— 表示只设置 sticky
2—— 表示只设置 GUID 权限
3—— 表示只设置 SGID sticky 权限
4—— 表示只设置 SUID 权限
5—— 表示只设置 SUID sticky 权限
6—— 表示只设置 SUID SGID
7—— 表示同时设置 SUID GUID sticky3 种权限

ACL 权限给指定的用户指定目录分配指定的权限。

查看ACL权限getfacl

getfacl 文件名

设定ACL权限setfacl

setfacl - 参数 文件名
-m :设定 ACL 权限
给用户设定 ACL 权限: setfacl -m u: 用户名 : 权限 指定文件名
给用户组设定 ACL 权限: setfacl -m g: 组名 : 权限 指定文件名
-x :删除指定的 ACL 权限;
-b :删除所有的 ACL 权限;
-d :设定默认 ACL 权限。只对目录生效,指目录中新建立的文件拥有此默认权限;
-k :删除默认 ACL 权限;
-R :递归设定 ACL 权限。指设定的 ACL 权限会对目录下的所有子文件生效

权限掩码umask

Linux 系统中,当用户创建一个新的文件或目录时,系统都会为新建的文件或目录分配默认的限,该默认权限与umask 值有关
新建文件的默认权限 =0666-umask (减去)
新建目录的默认权限 =0777-umask

查看默认umask

[root@server ~] # umask

修改默认umask

[root@server ~] # umask 000 # 临时修改

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/461196.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

KKFileView v4.4.0文件预览服务 编译和window运行和nginx代理设置

目录 一、拉取代码 二、编译打包 三、测试使用 四、实际使用 五、其他问题 本文记录,使用最新v4.4.0版本KKFileView源代码,在本地window上搭建文件预览服务,并通过nginx反向代理实现https访问。 一、拉取代码 从官网github上下载源代码…

树莓派基础设置--1.更新和升级操作系统

注意:使树莓派保持最新状态可以提高系统的安全性,但对于开发人员并不建议随意更新! 一、图像化界面 一般桌面的右上角也会显示树莓派系统更新的提示,可以点击相应选项进行更新! 二、使用APT 用来管理软件安装、升级…

用Pyhon写一款简单的益智类小游戏——2048

文字版——代码及讲解 代码—— import random# 初始化游戏棋盘 def init_board():return [[0] * 4 for _ in range(4)]# 在棋盘上随机生成一个2或4 def add_new_tile(board):empty_cells [(i, j) for i in range(4) for j in range(4) if board[i][j] 0]if empty_cells:i,…

STL---unordered_set与unordered_map与前言(哈希表)

文章目录 哈希哈希容器:unordered_set与unordered_map哈希哈希表哈希函数哈希冲突解决哈希冲突扩容 哈希表的代码实现线性探测法解决哈希冲突哈希桶解决哈希冲突 哈希 哈希容器:unordered_set与unordered_map unordered_set 定义如下: 常用接口 跟桶…

深度学习(八) TensorFlow、PyTorch、Keras框架大比拼(8/10)

一、深度学习框架概述 深度学习框架在当今人工智能和机器学习领域中占据着至关重要的地位。其中,TensorFlow 由 Google 开发,自 2015 年发布以来,凭借其灵活的计算图、自动微分功能以及跨平台支持等特点,迅速成为主流深度学习框架…

盘点Windows10系统之下好用的录屏工具!

在当前时代,互联网媒体的普及。图片视频等随处可见,越来越多的工作、学习、培训等都以转变成视频形式。我的工作就是离不开利用视频来进行交流。也因如此,很多时候因为直播中需要进行回顾等录屏需求,使用过多款录屏软件。拥有一款…

【MySQL】实战篇—项目需求分析:ER图的绘制与关系模型设计

在软件开发中,数据库是信息系统的核心部分,合理的数据库设计能够显著提高系统的性能和可维护性。 ER图(实体-关系图)是数据库设计的重要工具,它通过图形化的方式描述了数据实体及其相互关系,帮助开发者和设…

短信验证码发送实现(详细教程)

短信验证码 接口防刷强检验以及缓存验证码阿里云短信服务操作步骤验证码发送实现 好久没发文啦!最近也是在工作中遇到我自认为需要记录笔记的需求,本人只求日后回顾有迹可寻,不喜勿喷! 废话不多说,直接上代码&#xff…

深度学习数学基础之梯度

深度学习数学基础之梯度 方向余弦 方向导数 梯度(向量) 变化率最大的方向或者说方向导数最大的方向就是梯度向量的方向指向方向导数变化最大的方向

PYNQ 框架 - VDMA驱动 - 帧缓存

目录 1. 简介 2. 代码分析 2.1 _FrameCache 类定义 2.1.1 xlnk.cma_array() 2.1.2 pointerNone 2.1.3 PynqBuffer 2.2 _FrameCache 例化与调用 2.3 _FrameCache 测试 2.4 _FrameList 类定义 2.5 _FrameList 例化与调用 2.6 _FrameList 测试 3. 帧的使用 3.1 读取帧…

Cloud Compare学习笔记

1.1 导出文件 导出点云数据为 PCD 格式时,系统提供了三种保存选项,分别是 Compressed Binary(压缩二进制)、Binary(二进制)、ASCII/Text(文本) Compressed Binary(压缩…

电商直播带货乱象频出,食品经销商如何规避高额损失?

近年来,电商直播带货乱象频出,食品经销行业售卖商品涉嫌违规的事件层出不穷。以食品安全为例,2024年10月17日市场监管总局发布了关于11批次食品抽检不合格情况的通告,在抽检的650批次样品中,发现存在食品添加剂超范围超…

攻防世界 MISC miao~详解

下载压缩包,但是尝试解压的时候提示错误,刚开始以为是伪加密之类的,但是尝试了一圈之后,发现并没有问题。后面用bandizip打开,得到了一张图片: 拖到010editor里面查看,没有发现什么 于是用随波逐…

基于Unet卷积神经网络的脑肿瘤MRI分割

项目源码获取方式见文章末尾! 回复暗号:13,免费获取600多个深度学习项目资料,快来加入社群一起学习吧。 《------往期经典推荐------》 项目名称 1.【YOLO模型实现农作物病虫害虫识别带GUI界面】 2.【卫星图像道路检测DeepLabV3P…

记一次:使用使用Dbeaver连接Clickhouse

前言:使用了navicat连接了clickhouse我感觉不太好用,就整理了一下dbeaver连接 0、使用Navicat连接clickhouse 测试连接 但是不能双击打开,可是使用命令页界面,右键命令页界面,然后可以用sql去测试 但是不太好用&#…

python nan是什么

NaN(not a number),在数学表示上表示一个无法表示的数,这里一般还会有另一个表述inf,inf和nan的不同在于,inf是一个超过浮点表示范围的浮点数(其本质仍然是一个数,只是他无穷大&…

ABAP开发学习——内存管理二

SAP内存与ABAP内存的不同 SAP内存 当在某个事务程序中输入了物料号等,在打开其他需要输入物料号的事务窗口中会自动带出,不需要自己输入,因为这些地方使用相同的parameter id,共享相同SAP内存区域 在数据库表TPARA中可以查看到 S…

如何在短时间内入门并掌握深度学习?

如何在短时间内快速入门并掌握深度学习,是很多读者的困惑——晦涩难懂的数学 知识、复杂的算法、烦琐的编程……深度学习虽然让无数读者心怀向往,却也让不少人望而生畏,深感沮丧:时间没少花,却收效甚微。 如何才能更好…

ubuntu交叉编译zlib库给arm平台使用

1.下载并解压: 2.生成makefile 3.修改makefile 4.编译: make 出现下面错误先安装 gcc-arm-linux-gnueabihf 安装 gcc-arm-linux-gnueabihf

MySQL数据类型——针对实习面试

目录 MySQL字段类型分类char和varchar的区别null和“ ”的区别datetime和timestamp的区别为什么在MySQL中不推荐使用text或blob类型MySQL中如何表示布尔类型在设计数据库中,如何优化性能(一般不会问那么深,了解就行) MySQL字段类型…