文件权限

一、文件属性的查看,格式如下

ls  -ld  目录名     ##查看目录本身的属性

ls -l   目录名或文件名     ##查看目录的内容或查看文件的属性

其查看内容显示如下,共八列:

1.类型:2.读写权限:3.1/2:4.用户:5.组:6.文件大小:7.时间:8.名称

1.类型:

-    ##普通文件(如上图中)

d    ##目录(见上图中目录westos的查看)

c    ##字符设备

s    ##套接字

p    ##管道

b    ##快设备

l    ##连接

2.文件读写权限

如rwx|r--|r--,表示成A|B|C,具体分析如下:

A.表文件或目录所有人对文件可以读写

B.表文件或目录所有组对文件可否读写

C.表其他人对文件可否读写

文件所有人优先匹配,文件组次优先,当文件所有人及文件组不匹配时其他人匹配。

其中,r:表示可读,即可以执行cat 命令;w:表示可写;x表示可执行。

注:对于目录,可读r与可执行x权限一定同时具有;而文件则不一定。

3.“1”

对文件:文件内容被系统记录的次数,即系统可将其删除的操作次数。

对目录:目录中文件属性的字节数。文件属性非内容大小。

4.“root”:文件所有人

5.文件所有组

6.文件内容的大小

7.文件最后一次被修改的时间

8.文件或目录名称

二、文件所有人所有组的管理

为方便观察,下面使用watch 监控命令,进行监控。

1.chown 用户名  文件名 /目录名

表:更改文件的所有人。该用户必须已经存在。

2.chown  用户名:组名 文件名称/目录名称

表:更改文件或目录的所有人所有组。该组及用户均已存在。

3.chown  -R  用户名 目录名

表:更改目录本身及里面所有内容的所有人。用户须已存在

4.chgrp  组名  文件名/目录

表:更改文件/目录的所有组。组须已存在

5.chgrp  -R  组名 目录

表:更改目录本身及里面内容的所有组

三、文件普通权限

如:rw-|r--|r--

u  g   o

u:文件所有人对文件可以读写

g:文件组成员对文件可读

o:其他人对文件可读

u优先匹配,g次优先,o当u,g不匹配时匹配

1.r

对文件:可以查看文件中的字符(cat 命令进行查看)

对目录:可以查看目录中文件的信息

2.w

对文件:可以更改文件内字符

对目录:可以在目录中添加删除文件

3.x

对文件:可以运行文件内记录的程序动作

对目录:可以进入目录中

4.z字符方式修改文件权限

chmod [-R]  <u|g|o><+|-|=><r|w|x>  file | dir

如:chmod  u-x  文件/目录    ##文件/目录的所有人去掉x执行权限

chmod g+w  文件名              ##file拥有组添加w权限

chmod u-x,g+w  文件名        ##file拥有者去掉x权,file拥有组添加w权限

chmod  ugo-r  文件名             ##文件的用户组其他人去掉r权限

chmod ug+x,o-r  文件名        ##f文件的用户和组添加x权限,其他人去掉r权限

5.数字方式修改该文件权限

在linux中r=4;w=2;x=1

文件权限数字表示方式rw-| r--| r--

u   g   o

u = rw-=4+2+0=6

g = r--=4+0+0=4

o = r--=4+0+0=4

所以文件权限表示为644

chmod   修改后权限值       file

chmod        777          file

数字对应的权限表示如下:

7=rwx

6=rw-

5=r-x

4=r--

3=-wx

2=-w-

1=--x

0=---

四、系统默认权限的设定

从系统存在角度来说,开放权力越大,系统存在意义越高;从系统安全角度来说,开放权力越少,系统安全性越高。所以系统设定新建文件或目录会去掉一些权限。

设定格式如下

umask            ##查看系统保留权限,默认为0022

umask 077  ##修改该系统保留权限为077,此设定为临时设定,只在当前shell中生效

其中,0022中第一个0表示无特殊权限,为保证系统安全。利用umask命令可以临时设定权限,若要永久设定权限,可以利用vim命令进行编辑,,命令如下:

vim  /etc/bashrc           ##shell,进行编辑

进入编辑:  if [ $UID -gt 199 ]&& [ "`id -gn`" = "`id -un`" ]; then

umask 002      ##普通用户umask

else

umask 077    ##超级用户

fi

vim /etc/profile      ##系统

进入编辑:   if  [ $UID -gt 199 ] && [ "`id-gn`" = "`id -un`" ]; then

umask 002      ##普通用户umask

else

umask 077      ##超级用户umask                                             fi

以上两个文件umask设定值必须保持一致,再执行下列命令:

source  /etc/bashrc

source  /etc/profile

让设定立即生效

附加:权限值022表示什么?

系统中应进行如下计算:777-022=755,755-111=644。减去111表示去掉内核中权限,此时权限值=644,即表示 权限为rw-| r-x | r-x。

五、特殊权限

1.粘制位  sticky

t权限:只针对目录。当一个目录上有t权限时,那么目录中的文件只能被其所有人删除。

设定格式如下:

chmod  o+t  目录名

又有t=1,所以chmod  1777 direcotry

无t权限时,示例如下图

给目录加上t权限后,示例如下图:此时,该文件将只能被所有人删除

2.suid           ##冒险位

只针对二进制可执行文件,文件内记录的程序产生的进程的所有人为文件所有人和进程发起人身份无关,适用于所有权力下放。格式如下:

chmod  u+s  file

输入watch  -n 1 ‘ps  ax -o  user, group, comm | grep  cat ’

上图可看出文件的进程的所有人即为进程的发起人。

上图中,先给文件所有人s权限,再查看信息。可看出,文件的进程的所有人仍是文件的所有人root,与进程的发起者student无关。

3.sgid             ##强制位

对文件:只针对二进制可执行文件,任何人运行二进制文件程序时程序产生的进程的所有组        都是文件的所有组,和程序发起人组的身份无关

对目录:当目录有sgid权限后,目录中新建的所有文件的所有组都自动归属到目录的所有        组之中,和文件建立者所在的组无关

设定方式:

chmod g+s file|dir

又有sgid=2,所以 chmod 2xxxfile|dir

示例如下:

(1)对于文件

(2)对于目录

Linux 学习 第六单元相关推荐

  1. Linux学习(六)---实用指令(只看这篇就能完成基础的学习)

    文章目录 一.指定运行级别 二.切换到运行级别的指令 2.1 基本语法 2.2 应用实例 2.3 常问的面试题 三.帮助指令 3.1 基本介绍 3.2 man获得帮助信息 3.3 help 指令 3. ...

  2. linux mkdir绝对路径,linux学习(六)绝对路径、相对路径、cd、mkdir、rmdir、rm(示例代码)...

    一.绝对路径 就是从根开始的,如:/root./usr/local. 二.相对路径 相对于当前路径的,比如我们在当前路径下建立了一个a.txt. [[email protected] ~]# pwd/ ...

  3. Linux学习(六):proftpd搭建,完美解决vsftpd中文引号bug

    一.proftpd简介: proftpd软件和vsftpd一样是一个开放源代码的ftp服务器软件,但是可配置项比vsftpd要多,是目前比较流行的ftp软件,proftpd的配置和apache的配置相 ...

  4. Linux学习笔记六:SSH 软件安装失败了:Server responded Protocol error packet too long 1349676920

    目录 概述 Windows Ubuntu 测试 概述 在上一篇交叉编译环境安装中可以感受到,使用VMware共享文件夹的方式传输文件还是有些麻烦的.这一篇就记录下SSH的使用.SSH可以直接拖拽实现双 ...

  5. Linux学习(六)

    一.实验名称 shell编程应用 二.实验目的 结合shell脚本编程和所学知识,运用到实际场景当中 三.需求分析 某工作室有5台linux服务器,安装了centos7操作系统.系统管理员提出了一个需 ...

  6. Linux学习(六):命令与文件的查阅,Root用户和个人用户使用which命令的差别...

    which 注意:使用root用户和个人用户查找的结果是有差别的 1.用Root用户可以找到正确的执行文件名 2.切换到个人用户 我的是配置了PATH变量所以查找得到 3.区别 因为which是根据用 ...

  7. Linux学习 十二单元

    不同系统之间的文件传输 一.归档:将目录以文件方式存储,加快系统中文件传输速度,其容量不会变小,不同于压缩. 1.tar cf 文件名.tar /目录名    ##将目录归档成文件 2.tar rf ...

  8. Linux端日志加密,Linux学习--第十三天--日志、系统运行级别、grub加密

    日志 rsyslogd取代了syslogd. /var/log/cron #定时任务相关日志 /var/log/cups #打印信息相关日志 /var/log/dmesg #开机内核自检相关日志,dm ...

  9. Linux学习系列五:Shell命令脚本的基本语法

    这个系列的Linux教程主要参考刘遄老师的<Linux就该这么学>.用的系统是RHEL8,如果遇见一些命令出现问题,请首先检查自己的系统是否一致,如果不一致,可网上查一下系统间某些命令之间 ...

最新文章

  1. 如何利用ArcGis修改shp数据字段名称
  2. css元素捕捉,css元素选择器
  3. 解决Windows下栈内存过小的问题
  4. Java黑皮书课后题第4章:*4.5(几何:正多边形的面积)正多边形是一个具有n条边的多边形,它每条边的长度都相等,而且所有角的度数也相等。编写程序,提示用户数输入边个数和边长,然后显示它的面积
  5. EF4.1中诡异的GUID为空问题
  6. linux如何更改默认内核,[linux 内核] 设置内核的默认启动版本
  7. java 数学表达式解析插件_数学表达式解析-JAVA版
  8. R语言对数线性模型loglm函数_R 对数变换 《回归分析与线性统计模型》page103
  9. VMware Workstation虚拟机窗口小,无法显示内部系统全部桌面
  10. PyQt学习笔记(二)将PyQt项目转化为WIN下的可执行程序
  11. btoa java_javascript atob()函数和 btoa()函数-Base64的编码与解码-Go语言中文社区
  12. 【PPT分享】阿里巴巴定向广告之新一代Rank技术.pdf(附下载链接)
  13. java 高性能代码_[Java教程]Javascript高性能代码(一)
  14. 算法系列:量子计算与量子通信
  15. 《Google Go: A Primer》学习笔记
  16. [Linux源码分析]内存管理
  17. 【干货】Chrome插件(扩展)开发全攻略
  18. Qt编译QtXlsx库
  19. 通过python使用多种方法改变图片尺寸
  20. 2021百度Create大会(暨百度AI开发者大会)

热门文章

  1. (收藏)【 数字化客户体验】NPS、CSAT和CES——2020年跟踪的客户满意度指标
  2. bzoj 2876: [Noi2012]骑行川藏 拉格朗日乘子法
  3. 从模拟信号到数字信号
  4. libreoffice linux命令行,linux下使用libreoffice 命令行转化进行excel转PDF的排版问题
  5. Revit建模绘制楼板时剖面图上如何修改使其在墙的外边界?
  6. 从零开始的数模学习(4):熵权法(评价类模型)
  7. JAVA-File类与IO流
  8. Mysql数据库备份——数据库备份和表备份
  9. 电口模块和光模块有什么区别?
  10. icp光谱仪的工作原理_ICP2060T ICP光谱仪工作原理