Linux—系统权限详解

1.文件用户及用户组

Linux 是个多用户多任务的系统 ,常常会有多人同时使用同一主机来进行工作,为了考虑每个人的隐私权以及每个人喜好的工作环境 , 对用户进行分类。
分为以下三大类:
文件拥有者 (user)
文件所属组 (group)
其他人 (other)

2.文件权限的查看

输入ls -l filenamell filename
在这里插入图片描述
这些属性从前到后的含义分别如下表所示:

属性含义
-文件的类型
rw-r-r–文件的权限
1文件硬连接个数(文件内容被记录)
root文件所有人
root文件所有组
0文件大小
Oct 25 18:20文件最后一词被修改的时间
file1文件名称

3.目录属性的查看

输入ls -ld directoryll -d directory
在这里插入图片描述
这些属性从前到后的含义分别如下表所示:

属性含义
d文件的类型(d表示目录)
rwxr-xr-x目录的权限
2子目录的个数
root目录所有人
root目录所有组
6文件大小
Oct 25 18:26文件最后一词被修改的时间
dir文件名称

4.文件的类型

常见的文件类型有以下几种:
’ - ’   空文件或者文本
’ d ’   目录
’ l ’   软连接
’ s ’   socket 套接字
’ b ’   block 块设备
’ c ’   字符设备

5.文件的权限

第 2~4 个字符代表文件所有人的权限 ;
第 5~7 个字符代表文件所属组的权限 ;
第 8~11 个字符代表其他人的权限
例如: rwx|r-x|r-x
前三位的rwx代表文件所有人( u )的权限
中间三位的 r-x 代表文件所属组( g )的权限
最后三位的 r-x 代表其他人( o )的权限

6.权限的种类

权限种类有三种: r w x
(1). r
r权限针对文件,表示可以查看文件内容
r权限针对目录,表示可以ls 查看目录中存在的文件名称

(2). w
w权限针对文件,表示可以更改文件的内容
w权限针对目录,表示是否可以删除目录中的子文件或者子目录

(3). x
x权限对于文件,表示是否可以开启文件当中记录的程序
x权限对于目录,表示是否可以进入目录中

7.更改文件用户及用户组

输入chown命令
chown 用户名称 文件   更改文件所有人
chgrp 组名称 文件   更改文件所有组
chown -R 用户 目录   更改目录本身以及目录中的子文件的所有人
chgrp -R 组名 目录   更改目录本身以及目录中的子文件的所有组
操作如下:
首先在/mnt目录下建立5个文件,再在/mnt目录下建立一个新目录test,然后再在test目录下建立3个文件
在这里插入图片描述
输入watch -n 1 ls -lR /mnt/
在这里插入图片描述
下面对这些新建的文件和目录进行修改用户和用户组的操作:
在这里插入图片描述
在这里插入图片描述

8.文件权限的更改

对于文件权限的修改有两种方式:

方法一:通过字符方式修改
格式: chmod <u|g|o><+|-|=><r|w|x> 目标文件

方法二: 通过数字方式修改
格式: chmod 数字 目标

将三位权限 rwx 的有无视为二进制,有该权限时,该位为1,无该权限时即该位为 " - ",该位为0。再将这三位数字转换为八进制数字,那么得到的每一个数字就对应一个权限方式。
最终总结得到 r 为 4,w 为 2,x 为 1
下表为权限转换为二进制再转换为八进制的对应:

权限二进制八进制
0000
–x0011
-w-0102
-wx0113
r–1004
r-x1015
rw-1106
rwx1117

操作如下:
输入touch westos{1..6}在/mnt目录下新建6个文件

在这里插入图片描述

  • 通过字符的方式对文件的权限进行修改:
    在这里插入图片描述
  • 通过数字的方式对权限进行修改:
    在这里插入图片描述

9.默认权限及修改

当你创建一个新的文件或目录时 ,该文件或目录有默认权限。
umask 的分数指的是 该默认值需要减掉的权限。
在默认权限的属性上,目录与文件是不一样的,文件的最大权限为 666,目录的最大权限为 777。
输入umask命令显示系统预留权限值
在这里插入图片描述
所以对于文件而言,系统默认权限是644;对于目录而言,系统默认权限是755

(1)修改系统默认权限

  • 临时修改系统预留权限umask值的方法:
    在这里插入图片描述
    这种方法只是临时修改当前shell中的umask值,当退出shell,重新打开后,umask值还会变会回到原来的022。
  • 永久修改系统预留权限umask值的方法:
    配置/etc/bashrc和/etc/profile修改umask值
    /etc/bashrc 文件中的71行是普通用户的umask值,73行是超级用户的umask值:
    在这里插入图片描述
    /etc/profile 文件中的60行是普通用户的umask值,62行是超级用户的umask值:
    在这里插入图片描述
    想要永久性的修改umask值,修改完配置文件后,需要重新读取文件
    输入source /etc/bashrc # 刷新bash配置 source /etc/profile # 刷新系统配置完成之后就可以永久修改umask值了。

10.特殊权限

(1)stickyid   粘制位

效果:只针对于目录,当目录上有 o+t 的权限时 ,所有用户在该目录下均可创建文件 , 但只有文件所有人和 root 用户可以删除该目录下的文件。
设定方式 :
chmod o+t directory
chmod 1777 directory

(2)sgid   强制位

效果:
针对目录时:在目录中创建的文件都自动归属到目录所在组;
针对二进制文件时:文件内记录的程序在执行时和执行者的组身份没有关系,而是以二进制文件的所有组的身份执行的。
设定方式:
chmod g+s file | directory
chmod 2777 file | directory

(3)suid   冒险位

效果:只针对于二进制可执行文件,该命令发起的程序是以该命令所有人的身份去执行。
设定方式:
chmod u+s 二进制可执行文件
chmod 4755 二进制可执行文件

示例操作:
在操作特殊权限前,先根据下面的要求创建用户、用户组和目录,要求如下:

新建用户组:shengchan,caiwu,jishu
新建用户要求如下:
1)tom是shengchan组的附加用户
2)harry是caiwu组的附加用户
3)leo是jishu组的附加用户
3)新建admin用户,此用户不属于以上提到的三个部门
新建目录要求如下:
1)/pub目录为公共存储目录对所有用户可以读、写、执行
2)/sc目录为生产部存储目录只能对生产部人员可以写入
3)/cw目录为财务部存储目录只能对财务部人员可以写入

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值