Linux第五章

🐶博主主页:@ᰔᩚ. 一怀明月ꦿ 

❤️‍🔥专栏系列:线性代数C初学者入门训练题解CC的使用文章「初学」C++linux

🔥座右铭:“不要等到什么都没有了,才下定决心去做”

🚀🚀🚀大家觉不错的话,就恳求大家点点关注,点点小爱心,指点指点🚀🚀🚀

目录

更改文件拥有者

更改文件所属组

chown更改文件所属组

chgrp更改文件所属组

默认权限

umask指令

修改权限掩码

权限的计算

对于一个目录r权限到底是什么

对于一个目录w权限到底是什么

对于一个目录x权限到底是什么

粘滞位

软件yum


更改文件拥有者

在Linux中,你可以使用 chown 命令来更改文件或目录的拥有者。

chown 命令的基本语法如下:

chown [新拥有者用户名] [文件或目录]

例如,要将文件 example.txt 的拥有者更改为 user1,可以使用以下命令

sudo chown user1 example.txt

在这个命令中,sudo 是用来获取足够的权限以更改文件拥有者的命令。你可能需要管理员权限来执行这个命令,因为更改文件的拥有者通常需要超级用户权限。

也可以直接切换成root用户,直接进行修改

chown 用户名 文件名

更改文件所属组

chown更改文件所属组

要更改文件或目录的所属组,你可以使用 chown 命令,并在其后加上 : 后跟新的所属组名。

基本的语法如下:

chown :[新所属组名] [文件或目录]

例如,要将文件 example.txt 的所属组更改为 group1,可以使用以下命令:

sudo chown :group1 example.txt

同样地,如果你想递归地更改目录下所有文件和子目录的所属组,你可以结合使用 -R 选项。

示例命令如下:

sudo chown -R :group1 /path/to/directory
这将递归地将 /path/to/directory 中的所有文件和子目录的所属组更改为 group1。
chgrp更改文件所属组

chgrp 命令用于更改文件或目录的所属组。

其基本语法如下:

chgrp [新所属组名] [文件或目录]

例如,要将文件 example.txt 的所属组更改为 group1,可以使用以下命令:

sudo chgrp group1 example.txt

要递归地更改目录下所有文件和子目录的所属组,可以结合使用 -R 选项:

sudo chgrp -R group1 /path/to/directory
这将递归地将 /path/to/directory 中的所有文件和子目录的所属组更改为 group1

默认权限

目录的起始权限是:777

普通文件起始权限:666

但是实际上

目录的起始权限是:775

普通文件起始权限:664

是因为linux系统中存在权限掩码

umask指令

umask指令可以查看权限掩码

例如:
[BCH@ALY 8_2]$ umask
0002
这里的0002是八进制的,第一位的0我们先不用管
002->000 000 010 :凡是在权限掩码中出现的权限,最终都要在起始权限中去掉

修改权限掩码

umask [新的umask值]

例如

[BCH@ALY 8_2]$ umask 0000
[BCH@ALY 8_2]$ umask
0000


我们再创建目录时,目录的起始权限是:777
drwxrwxrwx 2 BCH BCH 6 8月   3 10:14 test3.txt
我们再创建普通文件时,普通文件的起始权限:666
-rw-rw-rw- 1 BCH BCH 0 8月   3 10:16 test4.txt

权限的计算
最终权限=起始权限 去掉 权限掩码中出现的权限

去掉的含义:
最终权限=起始权限(二进制)&(按位与)按位取反权限掩码(二进制)
最终权限=起始权限 &(~umask)

对于一个目录r权限到底是什么

是否允许一个指定用户查看目录的文件列表,如果一个用户对目录具有读权限,则该用户可以列出目录中的文件名列表。这意味着用户可以使用命令如 ls 来查看目录中的文件列表。

事例

[BCH@ALY dir1]$ ll
总用量 0
drwxrwxr-x 2 BCH BCH 6 9月   7 13:31 dir2
drwxrwxr-x 2 BCH BCH 6 9月   7 13:32 dir3
drwxrwxr-x 2 BCH BCH 6 9月   7 13:32 dir4
[BCH@ALY dir1]$ cd ..
[BCH@ALY 9_7]$ ll
总用量 0
drwxrwxr-x 5 BCH BCH 42 9月   7 13:32 dir1//此时dir1的拥有者具有读权限
-rw-rw-r-- 1 BCH BCH  0 9月   7 13:23 test.txt
[BCH@ALY 9_7]$ chmod u-r dir1//去掉r权限
[BCH@ALY 9_7]$ cd dir1
[BCH@ALY dir1]$ ll
ls: 无法打开目录'.': 权限不够//这样就访问不了目录的文件列表

对于一个目录w权限到底是什么

是否允许一个指定用户在当前目录下新建/删除/移动文件,如果一个用户对目录具有写权限,则该用户可以在目录中创建、删除或重命名文件。这意味着用户可以在目录中创建新文件、删除文件或者将文件重命名。

事例

[BCH@ALY 9_7]$ ll
总用量 0
d-wxrwxr-x 5 BCH BCH 42 9月   7 13:32 dir1
-rw-rw-r-- 1 BCH BCH  0 9月   7 13:23 test.txt
[BCH@ALY 9_7]$ chmod u-w dir1//去掉w权限
[BCH@ALY 9_7]$ cd dir1
[BCH@ALY dir1]$ mkdir dir4
mkdir: 无法创建目录 “dir4”: 文件已存在

对于一个目录x权限到底是什么

如果一个用户对目录具有执行权限,则该用户可以进入目录。如果一个用户没有执行权限,即使拥有了读权限,也无法进入该目录。

事例

[BCH@ALY 9_7]$ ll
总用量 0
drwxrwxr-x 2 BCH BCH 6 9月   7 13:25 dir1//此时dir1拥有者具有x权限
-rw-rw-r-- 1 BCH BCH 0 9月   7 13:23 test.txt
[BCH@ALY 9_7]$ cd dir1
[BCH@ALY dir1]$ cd ..
[BCH@ALY 9_7]$ chmod u-x dir1//去掉x权限
[BCH@ALY 9_7]$ ll
总用量 0
drw-rwxr-x 2 BCH BCH 6 9月   7 13:25 dir1
-rw-rw-r-- 1 BCH BCH 0 9月   7 13:23 test.txt
[BCH@ALY 9_7]$ cd dir1
-bash: cd: dir1: 权限不够//这样dir1的拥有者就不能查看dir1文件了

粘滞位

在 Linux 中,粘滞位是一种特殊的权限标记,通常用于目录,以确保只有文件的所有者才能删除其中的文件。粘滞位在权限标记中用 t 表示,对应的权限位为 1。当粘滞位被设置在一个目录上时,它表示即使其他用户对该目录有写权限,也只有文件的所有者才能删除自己的文件。

要在 Linux 中设置粘滞位,可以使用 chmod 命令,结合 +t 选项来设置。例如,要在一个目录上设置粘滞位,可以使用以下命令:

chmod +t directory_name

要移除目录上的粘滞位,可以使用 -t 选项:

chmod -t directory_name

在文件系统中,经典的用途是将粘滞位应用于临时目录,以确保只有目录中的文件的所有者才能删除它们。这可以防止其他用户误删除或修改其他用户的文件。

粘滞位的效果在 ls 命令的输出中以 t 来表示。例如,一个目录设置了粘滞位,ls -l 命令输出中会显示如下:

drwxrwxrwt 2 owner group 4096 Apr 23 10:00 directory_name
其中,权限标记中的最后一位是 t,表示粘滞位已经设置。

软件yum

在 Linux 系统中,yum 是一种常用的包管理工具,用于在基于 RPM(Red Hat Package Manager)的发行版中(如 CentOS、Fedora、Red Hat Enterprise Linux 等)管理软件包。yum 主要用于安装、更新和删除软件包,以及解决软件包之间的依赖关系。

以下是一些常用的 yum 相关命令:

安装软件包:
yum install package_name
这条命令将安装指定的软件包及其依赖项。

更新软件包:
yum update
该命令会检查可用的更新并将系统中的软件包更新到最新版本。

删除软件包:
yum remove package_name
这条命令将删除指定的软件包及其依赖项。

搜索软件包:
yum search keyword
该命令用于在 yum 软件仓库中搜索与指定关键字相关的软件包。

列出已安装的软件包:
yum list installed
这条命令将列出系统中已经安装的所有软件包。

列出可用更新:
yum check-update
该命令会列出可用更新的软件包列表,但不执行实际的更新操作。

清理缓存:
yum clean [packages|headers|metadata|expire-cache|all]
这条命令用于清理 yum 的缓存,以释放磁盘空间。

重新建立缓存:
yum makecache
该命令重新建立 yum 软件包索引缓存,以便使用最新的软件包信息。

这些是 yum 命令的一些常用用法。通过组合使用这些命令,可以轻松地管理 Linux 系统上的软件包。

 🌸🌸🌸如果大家还有不懂或者建议都可以发在评论区,我们共同探讨,共同学习,共同进步。谢谢大家! 🌸🌸🌸 

  • 16
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值