Linux目录与文件的权限
零、Linux中的权限为什么重要?
权限直接关系数据安全!
一、用户基础概念:
- 所有者(owner):拥有这个文件的用户。一般拥有目录或文件的所有权限。
- 用户组(group):几个用户组成一个用户组,一般来说组内用户同时具有某些权限。
- 其他人(others):相对于owner和group的其他人。一般比前两者少某些权限。
二、目录与文件的权限的意义:
- 文件是实际包含数据的,一般文本文件、数据库文件、二进制可执行文件等,因此权限对于文件来说,意义如下:
- r(read):可读取此文件的实际内容,例如读取文本文件hello.txt里的hello,world!
- w(write):可以编辑、新增或是修改文件的内容(注:不包含删除该文件本身的权限)
- x(eXecute):该文件具有被系统执行的权限(注:Linux下,文件能否被执行,不像windows下看文件扩展名,而是由文件是否具有x权限来决定的)
- 目录主要的内容是记录文件名列表。权限对于目录来说,意义如下:
- r(read contents in directory):表示具有读取目录结构列表的权限,当具有一个目录的r权限时,就可以使用ls将其打印出来
- w(modify contents of directory):这个可写入权限对于目录来说很强大,它代表者你可以:
- 新建新的文件与目录
- 删除已经存在的文件与目录(且不论该文件的权限如何)
- 将已存在的文件或目录重命名
- 转移该目录内的文件、目录位置。
- 总之、目录的w权限与该目录下的文件名变动有直接关系。
- x(access directory):目录x代表用户是否能进入该目录成为工作目录,例如我具有/data的x权限,那么我可以cd /data,反之则不行。
例如:查看/data下的test.txt文件的详细信息可以看到:
- [root@oldboy2 /]# ls -l /data/test.txt
- -rw-r--r--. 1 oldboy users 296 Apr 29 11:15 /data/test.txt
打印的结果中:
- 第一个字符 [-] :表示此文件为普通文件
- 若是[d]则是目录
- 若是[-]则是文件
- 若是[l]则是连接文件(linkfile)
- 若是[b]则表示设备文件里面可供储存的接口设备
- 若是[c]则表示设备文件里面的串行端口设备,例如键盘、鼠标(一次性读取设备)
2、后面的[rw-r--r--]字符:表示此文件的权限信息,三个一组。
- 第一组[rw-]:表示所有者的权限为r、w,可读可写。
- 第二组[r--]:表示同用户组的权限为r,只能读。
- 第三组[r--]:表示其他非本用户组的权限为r,只能读。
三、Linux存放用户身份和用户组记录的文件。
- /etc/passwd #默认情况下,所有系统上的账号与一般身份用户以及root的信息都记录在这个文件里
- /etc/shadow #记录个人的密码
- /etc/group #记录所有的用户组名称
- #这三个文件是Linux里账号、密码和用户组信息的集中地。不可随意删除。
四、更改文件用户组、所有者、权限的命令。(注:以下操作都在root下进行)
- 改变文件用户组chgrp(change group)
- chgrp users /root/install.log #要改变的组名必须在/etc/group下存在
- #将install.log文件用户组改为users
- chgrp users /root/install.log #要改变的组名必须在/etc/group下存在
- 改变文件所有者chown(change owner)
- chown xiaoming /data/test.txt #目标用户必须在/etc/passwd下存在
- #将test.txt文件的所有者为xiaoming
- chown xiaoming /data/test.txt #目标用户必须在/etc/passwd下存在
- 改变文件权限chmon
- 方法一,Linux中每种权限对应着一个分数,对应表如下
- r(read) == 4
- w(write) == 2
- x(executable) == 1
- r(read) == 4
- 方法一,Linux中每种权限对应着一个分数,对应表如下
更改文件的权限就把需要的权限分数相加后放在对应的owner、group、others位置上。如下
- chmod /data/test.txt #将/test.txt权限更改为-rw-r-----
#6==4+2 对应rw-;4对应r--;0对应---。只有owner可读写,group可读,others无任何权限)
2.方法二,前面说过user(也就是owner)、group、others三种身份,在Linux中用u,g,o代表这三种身份的权限。如下:
- u +(加入某个权限) r
- g -(去除某个权限) w
- o =(设置某个权限) x
- a(all)
实践:例如要设置一个文件的权限为-rwxr-xr-x,也就是user具有可读、可写和可执行权限,group与others(g/o)具有可读与可执行的权限。代码如下:
- [root@oldboy2 /]# chmod u=rwx,go=rx /data/test.txt
- [root@oldboy2 /]# ls -l /data/test.txt #查看权限
- -rwxr-xr-x. oldboy users Apr : /data/test.txt
参考:1、鸟哥的Linux私房菜
2、https://linux.cn/
Linux目录与文件的权限的更多相关文章
- Linux目录与文件的权限意义
ls -l和ls -al的区别:第一个不会显示隐藏文件,第二个会显示隐藏文件(以点(.)开头的文件) 一.权限对文件(r.w.x主要针对文件的内容而言)的重要性 r:可读取文件内容 w:可以编辑.新增 ...
- linux下为目录和文件设置权限
摘:linux下为目录和文件设置权限 分类: Linux2012-05-09 03:18 7456人阅读 评论(1) 收藏 举报 linuxwordpressweb数据库serverfile linu ...
- Linux "ls -l"文件列表权限详解
ls Linux "ls -l"文件列表权限详解 1.使用 ls -l 命令 执行结果如下(/var/log) : drwxr-x--- root adm -- : apache2 ...
- Linux学习之文件特殊权限详解(SetUID、SetGID、Sticky BIT)(十一)
Linux学习之文件特殊权限详解(SetUID.SetGID.Sticky BIT) 目录 SetUID SetGID Sticky BIT SetUID SetUID简介 只有可以执行的二进制程序和 ...
- Linux目录和文件——查询目录和文件的命令
Linux目录和文件——查询目录和文件的命令 摘要:本文主要学习了在Linux系统中是如何查询目录和文件的. which命令 which命令是根据PATH环境变量设置的路径,去搜索执行文件. 基本语法 ...
- Linux目录和文件——管理目录和文件的命令
Linux目录和文件——管理目录和文件的命令 摘要:本文主要学习了Linux系统中关于目录和文件的操作. cd命令 cd命令用来切换工作目录,是Change Directory的缩写. 基本语法 cd ...
- linux 目录下文件批量植入和删除,按日期打包
linux目录下文件批量植入 [root@greymouster http2]# find /usr/local/http2/htdocs/ -type f|xargs sed -i " ...
- linux新手向-文件的权限及修改
如果访问或执行一个文件显示Permission deny,一般是权限问题. 使用"ls -l"可以查看该目录下文件的详细信息. 1.读懂权限 第一列就是权限信息,形如: drwxr ...
- Linux目录和文件——目录格式
Linux目录和文件——目录格式 摘要:本文主要了解了Linux系统的目录格式. 一切皆文件 Linux下“一切皆文件”是Unix/Linux的基本哲学之一. Linux中所有内容都是以文件的形式保存 ...
随机推荐
- 解决使用JavaScriptConvert转换对象为Json时,中文和&符号被转码的问题
描述:比如 对象为var data=new {url="http://www.baidu.com?a=b&c=d"} 使用JavaScriptConvert序列化为JSON ...
- React虚拟DOM具体实现——利用节点json描述还原dom结构
前两天,帮朋友解决一个问题: ajax请求得到的数据,是一个对象数组,每个对象中,具有三个属性,parentId,id,name,然后根据这个数据生成对应的结构. 刚好最近在看React,并且了解到其 ...
- Java 对象序列化和反序列化
之前的文章中我们介绍过有关字节流字符流的使用,当时我们对于将一个对象输出到流中的操作,使用DataOutputStream流将该对象中的每个属性值逐个输出到流中,读出时相反.在我们看来这种行 ...
- 关于SQL调优(Distinct 和 Exits)
今天写了一段查询人员Id和人员编号的,由于需要从其他的表中取条件,因为人员表和另外的表对应的是一对多的关系,所以我使用了Distinct关键字对用户编号进行去重复,然后发现那个效率简直没法看,然后旁边 ...
- js正则表达test、exec和match的区别
test的用法和exec一致,只不过返回值是 true false. 以前用js很少用到js的正则表达式,即使用到了,也是诸如邮件名称之类的判断,网上代码很多,很少有研究,拿来即用. 最近开发遇到一些 ...
- Legendary Items-微软实习生笔试第一题
题目如下: 这道题难点不仅在于正确理解题意,判断递归条件,更在于用数学方法推出解决公式.因为N最大为1百万,而内存只有256MB, 所以暴力递归肯定会超时,超空间. 不过,我才疏学浅,又没有大量时间去 ...
- 【Electron】Electron开发入门(六):项目生成setup安装程序
把electron发布的exe打包成setup安装程序,需要使用nsis软件, nsis打包的详细教程,可以参考我的这篇文章: win7下nsis打包exe安装程序教程
- 读书笔记 effective c++ Item 43 了解如何访问模板化基类中的名字
1. 问题的引入——派生类不会发现模板基类中的名字 假设我们需要写一个应用,使用它可以为不同的公司发送消息.消息可以以加密或者明文(未加密)的方式被发送.如果在编译阶段我们有足够的信息来确定哪个信息会 ...
- Java进阶之内存管理与垃圾回收
Java是在JVM所虚拟出的内存环境中运行的.内存分为栈(stack)和堆(heap)两部分.我们将分别考察这两个区域. 栈 在Java中,JVM中的栈记录了线程的方法调用.每个线程拥有一个栈.在某个 ...
- Android-----js和android的互调
Android-----js和android的互调 http://code.google.com/p/apps-for-android/source/browse/trunk/Samples/We ...