Linux权限(+Linux基本指令(下))

目录

一.基本指令补充

1.date指令

2.find指令

3.tar指令

4.Linux下的常用热键

二.Linux权限

1.Shell

2.Linux权限的概念

3.Linux文件的默认权限值

Linux下的文件权限的起始值: 

 文件权限掩码与文件权限默认值: 

4.Linux的文件权限修改

文件拥有者属性修改:

文件权限值(可操作属性)修改:

5.特殊权限值:粘滞位


一.基本指令补充

1.date指令

  • 😆date指令可以用于显示日期和时间戳
  • 😆Linux的时间戳与Unix时间戳一致,指的是从1970年1月1日(UTC/GMT的
    😆午夜)开始到当前时间点所经过的秒数
  • 😆显示时间戳的指令:
date +%s

  • 😆将特定时间戳转化为日期的指令:
date -d@特定时间戳

  • 😆另外,用cal指令可以很方便地查看日历: 

2.find指令

  • 😆find指令用于文件查找
find 指定路径名称 -name 文件名

😆该行指令可以实现在指定路径下文件子树中寻找特定的文件,比如:

find / -name ls    #在整颗文件树中查找ls文件

  

3.tar指令

  • 😆tar指令用于文件压缩和解压
  • 😆tar指令的选项:
  1. 😆-c :建立一个压缩文件的参数指令(create的意思);
  2. 😆-x :解开一个压缩文件的参数指令;
  3. 😆-t : 查看tarfile里面的文件;
  4. 😆-z :使用gzip压缩算法
  5. 😆-j : 使用bzip2压缩算法
  6. 😆-v :压缩的过程中显示文件;
  7. 😆-f : f后接文件名
  8. 😆-C :解压到指定目录
tar -czf file1.tgz file1  #将file1用gzip算法压缩至file1.tgz文件置于当前用户所在目录下
tar -xzvf file1.tgz        #将file1.tgz解压至当前用户所属目录下

4.Linux下的常用热键

  • 😆[Tab]按键---具有命令补全和档案补齐的功能
  • 😆[Ctrl + c]按键---令当前的程序终止
  • 😆[Ctrl + d]按键---可以用来取代exit,用于退出shell进程

二.Linux权限

  • 🤓Linux的用户分为普通用户超级用户root两类,Linux是一个多用户操作系统,因此实际开发中,经常会有文件操作权限的管理需求
  • 🤓权限指的是特定的人是否被允许做某件特定的事情
  • 🤓Linux所有权限约束只对普通用户生效,root用户不会受到任何权限的约束

1.Shell

  • 😆通常所谓的操作系统发行版指的是:Shell(外壳程序) + 内核程序:
  • 😆外壳程序Shell的最简单定义:命令行解释器(command Interpreter),其主要发挥的作用:
  1. 😆将用户的命令进行翻译并传递给内核(kernel)处理并执行
  2. 😆将内核执行命令的结果以特定的形式传递给用户
  3. 😆保护内核,Shell有权限拒绝普通用户一些不合法的操作指令
  • 😆Shell本质上是一个运行起来的程序(正在运行的程序称为"进程"),可以通过ps命令查看Linux中正在运行的所有进程:
ps -axj

  • 😆接着再利用管道通信通过grep命令将所有关于bash进程的信息过滤出来便可以看到正在运行的外壳进程:
ps -axj | grep bash
#通过管道实现ps和grep指令之间的通信(指令的本质也是进程)

  • 😆grep指令:grep指令可以用于获取文本中含有指定字符串的文本行,也可以用于过滤掉文本中含有指定字符串的文本行,指令选项:
  1. 😆-i  :忽略大小写的差异
  2. 😆-n :  输出时附带行号
  3. 😆-v :过滤掉文本中含有指定字符串的文本行

2.Linux权限的概念

  • 😆Linux系统的设计哲学:一切皆为文件,权限的概念针对某个特定文件的文件操作而言的,主要分为两个部分:
  1. 😆文件的所属用户及用户组(文件所属的用户与用户组统称为文件的拥有者,非文件的拥有者则称为文件的其他用户)
  2. 😆文件自身的可操作属性
  • 😆文件自身的可操作性属性包括:是否可读取(r),是否可写入(w),是否可执行(x)
  • 😆通过ls -l来查看文件的详细信息,可以看到关于文件权限的设置:
  • 😆Linux下文件权限值的表示方法:
  • 😁可以看到,在文件信息中,文件的可操作属性九个信息位表示,这九个信息位构成文件的权限值,在Linux系统中文件权限值以二进制位的方式来记录(表示上可以用八进制表示):

3.Linux文件的默认权限值

  • 😁目录文件(文件夹)的读权限指的是某用户是否被允许查看该目录下的子文件
  • 😁目录文件(文件夹)的写权限指的是某用户是否被允许在该目录文件下创建子文件或删除子文件
  • 😁目录文件(文件夹)的可执行权限指的是某用户是否被允许进入该目录文件的路径下(若普通用户对于某一个目录文件的可执行权限被限制,则该普通用户对于该目录文件无法执行任何指令(即便该用户具有该文件的读写权限))
  • 😁每个新建的文件都有一个默认的权限值,文件的默认权限值由文件起始权限值和文件权限掩码共同决定 

Linux下的文件权限的起始值: 

  • 😁目录文件权限的起始值:八进制表示为 777 (二进制表示:111 111 111):
  • 😁非目录文件权限的起始值:八进制表示为 666 (二进制表示: 110 110 110):

 文件权限掩码与文件权限默认值: 

  • 😁Linux下文件权限掩码由4个八进制位表示(运算时要换成二进制位),通过umask指令可以查看或修改系统权限掩码:

    umask   #查看系统权限掩码
    umask 四个八进制位  #修改系统权限掩码
  • 😁Linux下文件权限默认值:
  • 😄比如现在新建一个普通文件test.txt(起始权限值为666),系统权限掩码设定为0002,可得test.txt的默认权限值为rw-rw-r--:

4.Linux的文件权限修改

文件拥有者属性修改:

  • 😄文件的拥有者属性文件的所属用户和所属用户组,普通用户不具有修改文件拥有者属性的权限,若需要修改文件的拥有者属性须通过root用户来操作或者使用sudo进行临时的权限提升来修改文件拥有者属性,普通用户修改文件拥有者属性的指令:

    sudo chown 用户名 文件标识     #将指定文件的所属者修改为指定用户
    
    sudo chgrp 用户组名 文件标识   #将指定文件的所属用户组修改为指定用户组
    
    #ch为change的缩写,own表示owner,grp表示group

文件权限值(可操作属性)修改:

  • 😁文件的拥有者可以对文件的权限值进行修改,指令:

    chmod u+r 文件标识       #修改文件所属者权限位  u代表所属者
    #或u+w,u-r....... +表示开放某个权限 -表示关闭某个权限
    
    chmod g+r 文件标识       #修改文件所属组权限位  g代表group
    #或g+w,g-r......  +表示开放某个权限 -表示关闭某个权限
    
    chmod o+r 文件标识       #修改文件其他用户的权限位 o代表other
    #或o+w,o-r......  +表示开放某个权限 -表示关闭某个权限
    
    
    # mod是模式的意思
  • 😁也可以通过八进制位表示法来修改权限位的值,比如

    chmod 000 文件标识 #关闭改文件的所有权限
  • 文件权限修改指令都有-R选项,可以对目录文件及其子文件进行递归权限修改

5.特殊权限值:粘滞位

  • 😁针对目录文件的非拥有者的可执行权限(9个权限位的最后一位),有一种特殊的权限设置:该权限值用字母t表示,称为粘滞位
  • 😁设置了粘滞位的目录文件,可以被该目录文件的非拥有者进行写入操作但是该目录文件的非拥有者无权删除该目录下的任何不属于他的子文件
  • 😁比如Linux系统根目录下有一个tmp目录文件用于存储系统产生的各种零时数据,该目录文件可以被任何普通用户写入但是普通用户无法删除该目录下任何不属于他的子文件:
  • 😁为目录文件设置粘滞位的指令:

    chmod o+t 文件标识 #o表示other,代表其他用户

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
THE END
分享
二维码
< <上一篇
下一篇>>