【Linux】Linux的权限_2 + Linux环境基础开发工具_1

简介: 【Linux】Linux的权限_2 + Linux环境基础开发工具_1

三、权限

3. Linux权限管理

修改文件的拥有者和所属组

在上一节我们讲到如何更改文件的访问权限,那我们需要更改文件的拥有者和所属组,应该怎么做?

chown 命令可以更改文件的拥有者,但是需要 root权限

chgrp 命令可以更改文件的所属组,也需要 root权限

4. 文件的类型

Linux的文件类型不通过后缀区分!(不代表Linux不使用后缀) 。

文件属性的前十个字符里,后9个字符代表文件的访问者权限,而第一个字符则代表文件的类型。

-:普通文件(文本、源代码、图片、视频、库、可执行等)

d:目录文件

l:软链接(类似Windows的快捷方式)

b:块设备文件(例如硬盘、光驱等)

p:管道文件

c:字符设备文件(例如键盘,显示器等串口设备)

s:套接口文件

由上可知:Linux下一切皆文件 。

知识点:由于Linux不通过后缀识别文件类型,所以我们的文件名后缀就可以随便取了吗?当然不是!Linux不通过后缀识别文件类型,不代表Linux之上的工具(比如 gcc 编译工具)不通过后缀识别文件类型。使用 gcc 是必然不可能编译 .txt 文件的。所以 虽然Linux不通过文件后缀识别文件类型,但是我们依旧推荐使用通过文件后缀区分文件 。因为工具需要,人也需要。

我们可以通过 file 指令来查看文件类型。

5. 权限掩码

我们想要进入一个目录,需要什么权限?

root 不受以上权限的限制 。

为什么我们创建的普通文件的默认权限不是777,而是664;为什么我们创建的目录文件的默认权限不是777,而是775;这涉及到了 权限掩码 (umask)。每个文件的创建,默认的权限是 起始权限 中,去除权限掩码中出现的权限 。(起始权限 & (~umask)= 最终权限(默认))

我们可以使用 umask 来查看我们机器的权限掩码。

0002 就是 002 ,转换成权限二进制就是 000 000 010 。注意(大部分普通文件都不具有可执行的功能,所以 普通文件的起始权限是666 ,而 目录文件的起始权限是777 )。666 即是 110 110 110 ,去除权限掩码值可得到 110 110 100 ,即 664 ,而 777 去除权限掩码则可得到 775

umask 指令可以查看权限掩码,也可以更改权限掩码。

知识点:一个文件能否被删除,并不取决于文件本身,取决于文件所在的目录,拥有者是否具有 w 权限

但是如果新建了一个共享目录,两个 other 想在里面交流,所以这个共享目录的 other 必须具有 w 权限,但是这样容易被其他陌生人任意删除里面的文件,怎么办?Linux于是给 other 新增了一个位:粘滞位 t

那么这个粘滞位 t 具有什么意义?粘滞位就是:在原本 x 的权限下,进一步对目录的权限进行特殊限定:该目录里面的文件,只有root和拥有者有权利进行删除,其他人一概不能删除

带有粘滞位的目录想要删除里面的文件:

超级管理员(root)可以删除 。

该目录的所有者可以删除 。

要删除的文件的所有者可以删除。

四、Linux环境基础开发工具

1. yum

Linux中我们也要进行工具/指令/程序的安装/检查/卸载等,都需要 yum 的软件。yum是我们Linux预装的一个指令,可以搜索、下载、安装对应的软件,就相当于Linux的应用商店。

yum 工具的使用

我们可以下载一个 lrzsz 的工具,它可以实现我们Windous机器和Linux机器通过XShell进行传输文件。rz 命令可以Windows传Linux,sz 命令可以Linux传Windows。Windows传Linux也可以直接拖拽。

yum list 可以显示所有可以下载的软件包。

install 就是下载并安装的意思。

remove 就是卸载的意思。-y 选项可以加在 install ,也可以加在 remove ,意思是后面的一切不再询问,全部同意。

注意:yum 下载安装或删除需要 root 权限 。

一个好玩的工具:sl

yum install -y sl 需要root权限,或者 sudo yum install -y sl 进行提权。

界面会跑出一个火车。

如果上面的 sl 工具没有找到,需要安装扩展 yum 源:yum install -y epel-release


未完待续

目录
相关文章
|
1月前
|
Java 关系型数据库 MySQL
Linux环境
Linux环境
34 5
|
1月前
|
Linux Shell
Linux系统文件默认权限
Linux系统文件默认权限
|
2天前
|
Linux 数据安全/隐私保护
linux特殊权限!!
本文介绍了Linux系统中的特殊权限,包括suid、sgid和sbit。suid使普通用户在执行特定命令时获得root权限;sgid使用户在创建文件时继承目录的用户组权限;sbit确保用户只能删除自己在共享目录中创建的文件。此外,文章还讲解了chattr和lsattr命令,用于更改和查看文件的扩展属性,以及umask的概念和计算方法,帮助理解文件和目录的默认权限。
15 1
linux特殊权限!!
|
10天前
|
Web App开发 搜索推荐 Unix
Linux系统之MobaXterm远程连接centos的GNOME桌面环境
【10月更文挑战第21天】Linux系统之MobaXterm远程连接centos的GNOME桌面环境
98 4
Linux系统之MobaXterm远程连接centos的GNOME桌面环境
|
6天前
|
Linux UED iOS开发
|
11天前
|
Ubuntu 应用服务中间件 Linux
Linux下搭建Nginx环境的搭建
Linux下搭建Nginx环境的搭建
|
15天前
|
监控 Linux 云计算
Linux操作系统在云计算环境中的实践与优化###
【10月更文挑战第16天】 本文探讨了Linux操作系统在云计算环境中的应用实践,重点分析了其在稳定性、安全性和高效性方面的优势。通过具体案例,阐述了Linux如何支持虚拟化技术、实现资源高效分配以及与其他开源技术的无缝集成。文章还提供了针对Linux系统在云计算中的优化建议,包括内核参数调整、文件系统选择和性能监控工具的应用,旨在帮助读者更好地理解和应用Linux于云计算场景。 ###
17 3
|
23天前
|
Ubuntu Linux 编译器
Linux/Ubuntu下使用VS Code配置C/C++项目环境调用OpenCV
通过以上步骤,您已经成功在Ubuntu系统下的VS Code中配置了C/C++项目环境,并能够调用OpenCV库进行开发。请确保每一步都按照您的系统实际情况进行适当调整。
198 3
|
29天前
|
Unix Linux Go
Linux 使用Yum安装Go和配置环境
Linux 使用Yum安装Go和配置环境
|
29天前
|
Linux 应用服务中间件 nginx
Linux下权限设置之suid、sgid、sticky
Linux下权限设置之suid、sgid、sticky