一、文件系统和安全

chmod命令

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

  • 符号模式

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

其中[who]的取值可以为

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

operator取值为

 +:增加权限
-:取消权限
=:设定权限

permission

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

命令举例,

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

绝对模式

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

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

     文件属主可读
文件属主可写
文件属主可执行 属组用户可读
属组用户可写
属组用户可执行 其他用户可读
其他用户可写
其他用户可执行

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

例如

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

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

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

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

用下面方式表达更直观,

 文件属主:r w x: +  +
属组用户:r w x: + +
其他用户: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都被修改了

 cat f3
agfgfgfdg3fsfsdf
 cat f2
cat f3
agfgfgfdg3fsfsdf
 cat f1
agfgfgfdg3fsfsdf

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

 cat f3
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. Python学习【第九篇】函数

    函数 函数是什么? 函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段. 在学习函数之前,一直遵循:面向过程编程,即:根据业务逻辑从上而下实现功能,其往往用一段代码来实现指定功能,开发过 ...

  2. jQuery语法介绍

    来自:http://www.cnblogs.com/ccorz/p/5803353.html jQuery类似于Python中模块的概念,是集成了javaScript和Dom的模块.大致分为两种版本1 ...

  3. Python--While循环语句

    Python While循环语句 Python 编程中 while 语句用于循环执行程序,即在某条件下,循环执行某段程序,以处理需要重复处理的相同任务.其基本形式为: while 判断条件: 执行语句 ...

  4. Myeclipse8.6配置android_SDK,进行android开发(转载)

    Myeclipse8.6下部署环境,总结一下个人Android环境配置的过程(首先不要急着启动Myeclipse) 1.下载SDK:http://developer.android.com/sdk/i ...

  5. 基于Java Netty框架构建高性能的部标808协议的GPS服务器

    使用Java语言开发一个高质量和高性能的jt808 协议的GPS通信服务器,并不是一件简单容易的事情,开发出来一段程序和能够承受数十万台车载接入是两码事,除去开发部标808协议的固有复杂性和几个月长周 ...

  6. 在html中引用分享的链接

    怎么说呢,其实我自己本身也不是很懂,这些到网上一搜也是有很多详解的,我就是水水的来~~ 附带:smarty 的 tpl 里面 要直接写 javascript 或 style 要用 literal 标签 ...

  7. MVC中的一般权限管理

    权限管理,一般指根据系统设置的安全规则或者安全策略,用户可以访问而且只能访问自己被授权的资源,不多不少.权限管理几乎出现在任何系统里面,只要有用户和密码的系统.权限管理还是比较复杂的,有的固定到某个模 ...

  8. linux-------------linux的scp

    scp是有Security的文件copy,基于ssh登录. 命令基本格式: scp [OPTIONS] file_source file_target OPTIONS: -v 和大多数 linux 命 ...

  9. ftl 问题

    取不到后台数据,这里是因为 page 已经是关键字

  10. Slackware Linux or FreeBSD 配置中文环境。

    配置中文环境. Slackware Linux 如果在控制面板的语言与地区选项中没有找到中文,那说明在安装系统选择软件的时候没有将国际语言支持包选上,可以从slackware的安装盘或ISO文件中提取 ...