一、文件系统和安全

chmod命令

chmod命令有两种模式,一种是符号模式,用ugo执行用户,用rwx执行权限;另一种是绝对模式,用八进制不同位置的不同值来代表不同用户的不同权限。

  • 符号模式

chmod命令的格式为 chmod [who] operator [permission] filename

其中[who]的取值可以为

  1. u:文件属主的权限
  2. g:用户所在组的权限
  3. o:其他用户权限
  4. a:所有用户权限
  5. 如果省略[who]参数,会同时为ug设置权限,即同时为属主和用户所在组设置权限

operator取值为

  1. +:增加权限
  2. -:取消权限
  3. =:设定权限

permission

  1. r:读
  2. w:写
  3. x:执行
  4. 另外还有s,t,l,u,g,o不常用

命令举例,

  1. chmod +x temp //为属主和所用所在组增加执行权限
  2. chmod a-w temp //收回所有用户的写权限(当然属主自己执行的话已然会有w权限)

绝对模式

绝对模式下,chmod命令的格式为 chmod [mode] file

[mode]是一个八进制数,八进制数与用户对应关系如下,

  1. 文件属主可读
  2. 文件属主可写
  3. 文件属主可执行
  4.  
  5. 属组用户可读
  6. 属组用户可写
  7. 属组用户可执行
  8.  
  9. 其他用户可读
  10. 其他用户可写
  11. 其他用户可执行

将相同类型用户所拥有的权值相加就是这类用户最终的权限,

例如

令属主可读写并能执行,则权值为4+2+1=7

属组可读不可写可执行,则权值为4+0+1=5

其他用户可读不可写不可执行,则权值为4+0+0=4

最终我们设置权限的命令就是 chmod 754 filename

用下面方式表达更直观,

  1. 文件属主:r w x + +
  2. 属组用户:r w x + +
  3. 其他用户:r w x + +

硬连接和软连接

文件节点

在linux底层,并不是按照文件名来唯一标识一个文件,而是通过文件节点(inode)来标识的。

硬连接

Hard Link就是建立多个不同文件名,但是文件节点相同的文件(即在底层属于同一个地址空间),用命令 ln f1 f2

软连接

也叫符号链接(Symbolic link)就是建立元文件的一个文本文件,保存着原文件的位置信息,访问软连接文件也等同于访问原文件,类似windows的快捷方式。

软连接与硬连接的区别在于删除文件,如果删除一个文件,对它的硬连接文件不会有影响(相当于硬连接文件取代了原文件),但是其软连接文件不再是有效文件。

下面举例说明,

随便新建一个文件  echo agfgfgfdg3fsfsdf > f1

新建硬连接    ln f1 f2

新建软连接    ln -s f1 f3

如果修改f3    echo 23423423 >> f3

会发现f1和f2都被修改了

  1. cat f3
  2. agfgfgfdg3fsfsdf
  1. cat f2
  2. cat f3
  3. agfgfgfdg3fsfsdf
  1. cat f1
  2. agfgfgfdg3fsfsdf

如果删除f1, 会发现其硬连接f2已然可访问,但是软连接f3已经无效了,

  1. cat f3
  2. cat: f3: No such file or directory

Linux Shell基础知识的更多相关文章

  1. Linux shell基础知识(上)

    Linux shell基础知识(上) 目录 一.shell介绍 二.命令历史 三.命令补全和别名 四.通配符 五.输入输出重定向 六.管道符和作业控制 七.shell变量 八.环境变量配置文件 九.b ...

  2. Linux Shell 基础知识(一)

    1. 本文知识结构 2. shell 基础知识 2.1 shell 简单介绍 ​ GNU bash shell 能提供对 Linux 系统的交互式访问,一般来说,使用快捷键 Ctrl + Alt + ...

  3. Linux Shell 基础知识(二)

    1.本文知识结构 2.文件的查询与检索 2.1. cd 目录切换 找到文件/目录位置:cd 切换到上一个工作目录: cd - 切换到home目录: cd or cd ~ 显示当前路径: pwd 更改当 ...

  4. Kali Linux渗透基础知识整理(四):维持访问

    Kali Linux渗透基础知识整理系列文章回顾 维持访问 在获得了目标系统的访问权之后,攻击者需要进一步维持这一访问权限.使用木马程序.后门程序和rootkit来达到这一目的.维持访问是一种艺术形式 ...

  5. Kali Linux渗透基础知识整理(二)漏洞扫描

    Kali Linux渗透基础知识整理系列文章回顾 漏洞扫描 网络流量 Nmap Hping3 Nessus whatweb DirBuster joomscan WPScan 网络流量 网络流量就是网 ...

  6. Linux入门基础知识

    注:内容系兄弟连Linux教程(百度传课:史上最牛的Linux视频教程)的学习笔记. Linux入门基础知识 1. Unix和Linux发展历史 二者就像父子关系,当然Unix是老爹.1965年,MI ...

  7. Linux Shell基础(下)

    Linux Shell基础(下) 目录 一.shell特殊符号cut命令 二.cut.sort.wc.uniq命令 三.tee.tr.split命令 四.简易审计系统 五.fork, exec, so ...

  8. linux shell 基础 使用日志与心得

    linux shell 基础 使用日志与心得 1.#!/bin/bash 第一行就出现#!/bin/bash是指此脚本使用/bin/bash来解释执行.其中,#!是一个特殊的表示符,其后,跟着解释此脚 ...

  9. shell基础知识总结

    1. shell 对于一台计算机而言,其硬件受系统内核的控制,使用者想要控制计算机,就必须有与系统内核进行通讯的手段.而shell就是使用者与计算机进行通讯的手段之一.从命名上看,shell其实是相对 ...

随机推荐

  1. 每天进步一点点——五分钟理解一致性哈希算法(consistent hashing)

    转载请说明出处:http://blog.csdn.net/cywosp/article/details/23397179     一致性哈希算法在1997年由麻省理工学院提出的一种分布式哈希(DHT) ...

  2. Android 基于Android的手机邮件收发(JavaMail)之二( Welcome.java 和 ReceiveAndSend.java )

    周末休息,这次我们继上次内容继续.上一篇内容我们讲述的是一些准备工作.下载两个javamail.jar和activation.jar文件,然后再BuildPath~ 言归正传,为了展示效果,在这里我申 ...

  3. python成长之路-----day1-----作业(登录程序和三级菜单)

    作业: 作业1:用户登录 1)程序说明: a.用户输入密码验证成功然后打印欢迎信息 b.如果密码错误,用户登录失败,提示用户,密码错误 c.用户输入密码错误3次,则用户锁定 d.当用户多次输入不存在的 ...

  4. 替换jenkins上打包完成的安装包的方法

    修改 /root/.jenkins/jobs/Item名称/lastSuccessful/archive/*/obj 文件夹下的文件,就可以在下图二中下载新修改的文件,需要注意的是,此文件夹下不能有新 ...

  5. SSIS2012 项目部署模型

    SSIS 2012 支持两种部署模型:项目部署模型和包部署模型. 使用项目部署模型可以将项目部署到 Integration Services 服务器,使用包部署模型可以将单独的包部署到Integrat ...

  6. Delphi Json

    superobject.pas单元对json的解析非常方便, 力荐 下面演示对如下json的解析 { ", "memo": "S.H.E 004" } ...

  7. [转载] linux 下查看机器cpu是几核的

    linux 下查看机器cpu是几核的 本文转自”映月的博客“:http://wurhuangfeng.blog.163.com/blog/static/35178241201111235829116/ ...

  8. ios webView 放大网页解决/input 获得焦点focus 网页放大 解决

    新手遇到的问题: 终于找到原因,各种HTML viewport 都试过 setScalePageToFit 也试过,webViewDidFinishLoad加JS代码,动态算webView.scrol ...

  9. Hiho 1232 北京网络赛 F Couple Trees

    给两颗标号从1...n的树,保证标号小的点一定在上面.每次询问A树上的x点,和B树上的y点同时向上走,最近的相遇点和x,y到这个点的距离. 比赛的时候想用倍增LCA做,但写渣了....后来看到题解是主 ...

  10. request_irq() | 注册中断服务函数【转】

    本文转载自:http://blog.csdn.net/wealoong/article/details/7566546#t0 参考  : ARM Linux 中断机制分析.pdf linux-2.6. ...