【Linux学习笔记(十五)】之权限管理,chmod,chown,chgrp,umask

本文详细介绍了Linux的权限管理系统,包括文件类型的标识(如普通文件、目录、设备文件)、权限位的含义(所有者、所属组、其他用户)以及如何使用chmod、chown和chgrp命令进行权限修改。同时,解释了读、写、执行权限对文件和目录的不同作用,并探讨了umask默认权限设置,包括其计算方法和如何临时或永久修改。
摘要由CSDN通过智能技术生成

本文章由公号【开发小鸽】发布!欢迎关注!!!


老规矩–妹妹镇楼:

一. 权限管理

(一) 权限位介绍

       一般权限位有10位,在10位后面还带有一个“.”,这个符号表示着该文件是被Selinux所保护的。下面来详细介绍一下各个权限位:

1. 第一位

       代表文件类型,常见的有:

(1) -

       普通文件

(2) b

       块设备文件,表示存储设备,如分区文件/dev/sda1

(3) c

       字符设备文件,如输入设备,键盘。


(4) d

       目录文件。

(5) l

       软链接文件。


2. 2-4位

       代表所有者的权限,分别为r(读),w(写),x(执行),有字母对应着有该权限。


3. 5-7位

       代表文件所属组的权限。


4. 8-10位

       代表其他人的权限。

(二) 基本权限命令

1. chmod

       修改文件权限(change file mode bits),可以使用字母,也可以使用数字代表权限。u代表所有者,g代表所属组,o代表其他人,a代表全部身份。使用方式如下所示:

(1) 字母加减设置权限
chmod u+x dev

       给dev文件的所有者添加执行权限。

chmod u-x dev

       给dev文件的所有者减去执行权限。

chmod u=rwx dev

       给dev文件的所有者设置rwx三种权限。

chmod 744 dev

       4代表R(读)权限,2代表W(写)权限,1代表X(执行)权限。

       上面的命令表示给dev文件的所有者设置读写执行权限,给所属组和其他人设置读的权限。


2. chown命令

       修改文件和目录的所有者和所属组的命令(change file owner and group),普通用户不能修改文件的所有者,即使它拥有这个文件也不行,只有root用户能够修改文件的所属者。

chown wxx dev

       修改dev文件的所有者为wxx,前提是当前用户是root。

chown wxx:wxx dev

       修改dev文件的所有者为wxx,且所属组是wxx组。冒号后面表示所属组,每个用户默认都会有一个同名的组。

3. chgrp命令

       修改文件和目录的所属组(change group ownership)。

(三) 基本权限的作用

       读,写,执行权限对于文件和目录的作用是不同的。

1. 权限对于文件
(1) 读

       可以读取文件中的数据,执行cat, more, less, head, tail等命令。

(2) 写

       可以修改文件中的数据,执行vim,echo等命令,但是不能删除文件本身,想要删除文件,需要该文件的上级目录的写权限。因为文件的写权限仅限于读取该文件的block块中的内容,而该文件的文件名和I节点号都存储在上级目录的block块中,想要删除该文件,需要访问上级目录的block块获取文件的I节点号和文件名,也就是获取上级目录的写权限。

(3) 执行

       只要文件有执行权限,则该文件就是可执行文件了,执行权限是文件的最高权限。

2. 权限对于目录
(1) 读

       查看目录下的内容,可执行ls命令。

(2) 写

       可修改目录下的数据,如新建,删除文件等等,可执行touch, rm, cp, mv命令,写权限是目录的最高权限。

(3) 执行

       目录不能执行,只能进入,可执行cd命令。

(4) 目录的可用权限

       目录只有3个可用权限,为什么没有4权限呢?因为目录只有读没有执行的话都不能进入目录:

0: 无权限
5: 目录浏览和进入权限
7: 完全权限

(四) umask默认权限

1. 概述

       当我们新建一个文件或者文件夹时,系统都会默认设置权限,如在普通用户下,文件为664的权限,文件夹为775的权限。

       这是系统根据umask权限来计算的,系统给文件的默认最大权限原本是666,没有执行权限,因为执行权限对于文件来说比较危险,不能在新建文件时默认赋予。如果umask权限是0002时,通过计算就可以得出文件的权限位664了。

       目录同理,目录的默认最大权限是777,可以赋予执行权限,通过和umask权限0002计算得出权限位775。


2. 权限计算方法

       可以简单地理解为减法,用最大权限减去umask权限即可。但实际上,需要使用二进制进行逻辑与和逻辑非运算CIA可以得到默认权限。


3. 查看umask权限
umask

4. 临时修改umask权限
umask 0022

5. 永久修改umask权限

       在 /etc/profile中修改umask权限值。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值