Linux 文件权限管理
1.文件权限的概述
在Linux系统下,使用权限来保护资源的安全将是一种不错的选择。系统中每个文件的权限都有可读(r)、可写(w)和可执行(x)这三种权限,它们分别对应权限数值4、2 和1。系统为每个文件和目录都设有默认的权限,每个文件中可分有拥有者(u)、同群组的用户(g)和其他组用户(o)。
文件的类型不同,权限就有所不同,虽然每个文件的权限都是 777,但在创建一个文件时,并没有看到该文件的权限是777,这是由于掩码的作用使得某些权限被屏蔽。
对于每个文件,其都由不同的信息组成,如图所示,这是我们之前创建的一个名为CAT1的空文件,该文件的详细信息如下所示。

文本文件与目录文件的区别就在于第一个描述符不同,目录则以“d”为描述符。如图所示,这是之前所创建的一个名为CAT的目录,该目录的详细信息及相关介绍如下所示。

使用带有-l选项的ls命令,可从许可字符串的首字母来识别所列出每个文件的类型,以下是几个常见的标识号。
●-:一般文件(硬链接)。
● l:符号链接(软链接,可使用带有-s选项的ln命令来创建一个软链接)。
● d:目录。
● c:字符设备文件。
● p:命名管道。
● s:套接字。
● b:块设备特殊文件。
2.文件权限管理
从刚创建的CAT1文件中看到,该文件虽是cat用户创建的,但cat用户对该文件并没有可执行权限。现在要为CAT1添加可执行权(x),将这项任务交给chmod命令就可以。使用chmod命令也非常简单,如下所示,为cat用户添加对CAT1文件的可执行权。
[cat@cat ~]$ chmod u+x CAT1
通过以上操作后,cat用户拥有了对CAT1文件的可执行权。当然,要添加其他权限的操作也差不多,也可以使用“chmod+rwx 文件名”来授权。感兴趣的读者可以试试,这里只讲方法,可以通过这种方法来进行练习,以便更好地掌握。
如果对CAT目录下的目录同时授予可执行权,则可以使用带有-R选项的Chmod命令进行操作,其格式如下:
chmod–R 目录名1/目录名2
其中目录2是目录1的子目录,即在目录1下创建目录2。
使用-R选项,可递归地授予各种权限。
接下来讲解取消某个用户(或用户组)拥有该文件的权限,使用的命令还是chmod,如下所示,取消cat用户对文件CAT1拥有的可执行权。
[cat@cat ~]$ chmod u-x CAT1
根据文件权限数值,4代表可读,2代表可写,而1则代表可执行,并且权限数值存在时以1表示,否则就用0来表示(实际上就是用二进制的方式来表示),就可以对于某个文件或目录中的权限数值计算。如图所示,计算名为CAT1文件的权限值。


若需要对该文件授予权限,也可使用“chmod 664 CAT1”的形式来为用户授权。
有时为了方便,把文件的拥有权授予其他人,可以使用chown来改变文件的拥有者,下面演示将cat用户的CAT1文件转给dog用户,先切换到root用户,然后才可以执行。由于CAT1文件在cat用户的主目录下,因此使用/home/CAT1。
[root@cat ~]# chown dog /home/cat/CAT1
执行命令之后,可以使用带有-l选项的ls命令来确认更改文件拥有者的操作是否成功。如下命令显示更改文件拥有者之后该文件的详细信息。
[cat@cat ~]$ ls–l
total 0
-rw-rw-r-- 1 dog cat 0 Aug 9 21:27 CAT1
Linux 文件权限管理的更多相关文章
- 《linux文件权限管理大总结》RHEL6
在linux系统下文件的权限通常会以下面的格式显示出来: Chmod文件权限: 权限的管理chmod -a 所有的权限 -u 文件所有者的权限 -g 组权限 -o 其他用户的权限 可以使用运算符来设 ...
- 一个故事看懂Linux文件权限管理
前情回顾: 我通过open这个系统调用虫洞来到了内核空间,又在老爷爷的指点下来到了sys_open的地盘,即将开始打开文件的工作. 详情参见:内核地址空间大冒险:系统调用 open系统调用链 我是一个 ...
- Linux文件权限管理(持续更新)
文章是从我的个人博客上粘贴过来的, 大家也可以访问我的主页 www.iwangzheng.com 以root身份登录linux以后, ls -al 可以看到 -rw-rw-r-- 1 wangzhe ...
- Linux文件权限管理
一.设置文件所属的用户以及所属的组(chown,chgrp) chgrp用来更改文件的组拥有者,其一般格式为:chgrp [option] group file(1)把文件test的组拥有者改为zfs ...
- Linux常用命令之文件权限管理
Linux文件权限管理1.改变文件或目录的权限:chmod命令详解命令名称:chmod命令所在路径:/bin/chmod执行权限:所有用户语法:chmod [{ugoa}{+-=}{rwx}] [文件 ...
- linux用户管理,linux用户口令管理,linux用户组管理,linux用户权限管理详解
linux用户管理 http://www.qq210.com/shoutu/android 用户账号的添加(新加用户需添加用户口令) :增加用户账号就是在/etc/passwd文件中为新用户增加一条记 ...
- 5.Linux文件权限
Linux用户类别 root:这是系统特权用户类,他们都有访问root登录账号的权限 owner:这是实际拥有文件的用户 group:这是共享文件的组访问权的用户类的用户组名称 world:这是不属于 ...
- (大数据工程师学习路径)第一步 Linux 基础入门----用户及文件权限管理
用户及文件权限管理 实验介绍 1.Linux 中创建.删除用户,及用户组等操作. 2.Linux 中的文件权限设置. 一.Linux 用户管理 Linux 是一个可以实现多用户登陆的操作系统,比如“李 ...
- Linux文件权限及用户管理
/etc/passwd文件与 /etc/shadow文件/etc/passwd文件/etc/passwd文件主要存放登录名.UID等用户相关信息,用户登录密码存放在/etc/shadow文件中.例子: ...
随机推荐
- 【Spark篇】---Spark故障解决(troubleshooting)
一.前述 本文总结了常用的Spark的troubleshooting. 二.具体 1.shuffle file cannot find:磁盘小文件找不到. 1) connection timeout ...
- 10.Flask上下文
1.1.local线程隔离对象 不用local对象的情况 from threading import Thread request = ' class MyThread(Thread): def ru ...
- Qt之自定义检索框
1.效果展示 今天这篇文章主要讲解的是自定义搜索框,不仅仅支持搜索,而且可以支持搜索预览,具体请看效果图1.网上也有一些比较简单明了的自定义搜索框,比如Qt之自定义搜索框,讲的也比较详细,不过本文的侧 ...
- nginx: [emerg] the "ssl" parameter requires ngx_http_ssl_module in ......
nginx如果未开启SSL模块,配置https时提示错误 nginx: [emerg] the "ssl" parameter requires ngx_http_ssl_modu ...
- C#版 - Leetcode 13. 罗马数字转整数 - 题解
C#版 - Leetcode 13. 罗马数字转整数 - 题解 Leetcode 13. Roman to Integer 在线提交: https://leetcode.com/problems/ro ...
- C++、Java语法差异对照表
C++.Java语法差异对照表 C++ and Java Syntax Differences Cheat Sheet First, two big things--the main function ...
- 【Java基础】【22IO(其他流)&Properties】
22.01_IO流(序列流)(了解) 1.什么是序列流 序列流可以把多个字节输入流整合成一个, 从序列流中读取数据时, 将从被整合的第一个流开始读, 读完一个之后继续读第二个, 以此类推. 2.使用方 ...
- js反爬-从入门到精通webdriver
学习JS反爬 地址:http://openlaw.cn/login.jsp 想在指导案例中抓些内容,需要登陆 账号密码发送会以下面方式发送 所以需要找到_csrf和加密后的password,_csrf ...
- leetcode — restore-ip-addresses
import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; import java.util. ...
- C#线程安全使用(三)
在讲CancellationTokenSource之前我决定先讲一下lock和Interlocked,如果能很好的理解这两个,再去理解CancellationTokenSource就会方便很多,由于我 ...