Linux的文件权限管理

简介:

    Linux作为一种多用户操作系统有着严格的权限控制体系。其主要包括文件的基本权限,文件访问控制列表(FACL)以及文件的隐藏,现在来分别讨论它们之间的关系。说明:本文中的演示基于CentOS6.5,在Linux其他发行版上操作可能有所区别。

    一、文件的基本权限

    用户对于文件的基本权限包括(r,w,x),其对普通文件与目录的含义又有所不同

        文件:
            r: 可以使用内容查看类的命令来显示其相关内容;
            w: 可以使用编辑器修改其内容,但并不具备删除文件本身的权限
            x: 可以将其发起一个进程;
        目录:
            r: 可以使用ls命令查看目录内容的文件信息;
            w: 可以创建、删除目录内的文件;
            x: 可以使用ls -l命令查看目录内容的文件信息,并且可以使用cd命令切换此目录为工作目录;

对于文件的操作实例:

[mylinux@mylinux test]$ ls -l a.txt 
-rw-r--r-- 1 root root 7 8月  24 16:07 a.txt
[mylinux@mylinux test]$ cat a.txt 
qweqw
[mylinux@mylinux test]$ ls -l a.txt 
-rw-r--rw- 1 root root 7 8月  24 16:07 a.txt
[mylinux@mylinux test]$ rm a.txt 
rm: 无法删除"a.txt": 权限不够

对于目录的操作实例:

[mylinux@mylinux home]$ ls -dl test/
drwxr-xr-- 2 root root 4096 8月  24 16:07 test/
[mylinux@mylinux home]$ cd test/
-bash: cd: test/: 权限不够
[mylinux@mylinux home]$ ls -dl test/
drwxr-xr-x 2 root root 4096 8月  24 16:07 test/
[mylinux@mylinux home]$ cd test/    
[mylinux@mylinux test]$ ls
a.txt
[mylinux@mylinux test]$ rm a.txt 
rm: 无法删除"a.txt": 权限不够
[mylinux@mylinux test]$ ls -al 
总用量 12
drwxr-xrwx  2 root root 4096 8月  24 16:07 .
drwxr-xr-x.  7 root root 4096 8月  24 16:06 ..
-rw-r--rw-  1 root root    7 8月  24 16:07 a.txt
[mylinux@mylinux test]$ rm a.txt

二、文件访问控制列表(FACL)

    ACL是Access Control List的缩写。主要的目的是提供传统的owner、group、others的r、w、x权限室外的具体权限设置ACL可以针对单一用户、单一文件或目录进行授权。

    例如下面的实例,我们想让mylinux对文件a.txt具有读权限,但是又不想其成为a.txt的属主或者将mylinux加入root用户组中,此时就使用到了facl。当文件具有额外的权限时,使用ls可以看到权限后面有+号表示。

[mylinux@mylinux test]$ ls -l a.txt   
-rw-r----- 1 root root 7 8月  24 16:48 a.txt
[mylinux@mylinux test]$ cat a.txt 
cat: a.txt: 权限不够
[mylinux@mylinux test]$ ls -l a.txt 
-rw-r-----+ 1 root root 7 8月  24 16:48 a.txt
[mylinux@mylinux test]$ cat a.txt 
asdas
[mylinux@mylinux test]$ getfacl a.txt     
# file: a.txt
# owner: root
# group: root
user::rw-
user:mylinux:r--
group::r--
mask::r--
other::---

三、文件的特殊权限位

    除了上述权限以外,文件还具有特殊权限位SUID以及SGID。当在团队开发时,各成员在一个工作目录开发时,我们希望可以看到彼此的内容,但又不希望被对方修改乃至恶意删除时。这两个权限位就显示了作用。

    SUID:

    SUID权限仅对二进制程序有效,执行者需要对该程序具有可执行权限,本权限仅有执行该程序的过程中有效,执行者将具有该程序所有者(owner)的权限。

    SGID设置于文件:

    可以针对文件或者目录设置。SGID对二进制程序有用,执行者对该程序来说,需要有可执行的权限,执行者执行的过程中将获得该程序用户组的支持。

    SGID设置于目录:

    用户对此目录有r与x的权限时,该用户能进入此目录,用户在此目录下的有效用户组将变成该目录的用户组;若用户在此目录下具有w权限,则用户创建的新文件的用户组与此目录用户组相同。

     SBIT(Sticky)只对目录有效:

    目录加上此权限时,用户在此文件中创建的文件或目录仅有自己或root能删除。

    分别对其实例演示:

[mylinux@mylinux test]$ ls -l /bin/cat 
-rwxr-xr-x. 1 root root 45224 11月 22 2013 /bin/cat
[mylinux@mylinux test]$ ls -l a.txt 
-rw-r----- 1 root root 7 8月  24 16:48 a.txt
[mylinux@mylinux test]$ cat a.txt 
cat: a.txt: 权限不够
[mylinux@mylinux test]$ ls -l /bin/cat 
-rwsr-xr-x. 1 root root 45224 11月 22 2013 /bin/cat
[mylinux@mylinux test]$ cat a.txt 
asdas


[mylinux@mylinux test]$ ls -l /bin/cat      
-rwxr-xr-x. 1 root root 45224 11月 22 2013 /bin/cat
[mylinux@mylinux test]$ ls -l a.txt           
-rw-r----- 1 root root 7 8月  24 16:48 a.txt
[mylinux@mylinux test]$ cat a.txt 
cat: a.txt: 权限不够
[mylinux@mylinux test]$ ls -l /bin/cat 
-rwxr-sr-x. 1 root root 45224 11月 22 2013 /bin/cat
[mylinux@mylinux test]$ cat a.txt        
asdas

[root@mylinux test]# ls -dl b               
drwxr-xr-x 2 mylinux mylinux 4096 8月  24 17:30 b
[root@mylinux test]# chmod g+s b
[root@mylinux test]# ls -dl b   
drwxr-sr-x 2 mylinux mylinux 4096 8月  24 17:30 b
[root@mylinux test]# cd b/
[root@mylinux b]# touch test.txt
[root@mylinux b]# ls -l
总用量 0
-rw-r--r-- 1 root mylinux 0 8月  24 17:32 test.txt

         

        

    本文转自 梦想成大牛 51CTO博客,原文链接:http://blog.51cto.com/yinsuifeng/1842118,如需转载请自行联系原作者

相关文章
|
1月前
|
监控 Linux Shell
【Shell 命令集合 网络通讯 】Linux 配置和管理网络流量的形状 shapecfg命令 使用指南
【Shell 命令集合 网络通讯 】Linux 配置和管理网络流量的形状 shapecfg命令 使用指南
39 0
|
1月前
|
存储 Shell Linux
【Shell 命令集合 磁盘维护 】Linux 管理硬盘分区 mpartition命令使用教程
【Shell 命令集合 磁盘维护 】Linux 管理硬盘分区 mpartition命令使用教程
36 1
|
1月前
|
存储 监控 Shell
【Shell 命令集合 磁盘管理 】Linux 管理磁盘配额 quota命令使用教程
【Shell 命令集合 磁盘管理 】Linux 管理磁盘配额 quota命令使用教程
40 0
|
30天前
|
存储 算法 Linux
【Linux 应用开发 共享内存】深入理解和实践 ftruncate:共享内存的有效管理
【Linux 应用开发 共享内存】深入理解和实践 ftruncate:共享内存的有效管理
62 5
|
1月前
|
域名解析 网络协议 Linux
【Shell 命令集合 网络通讯 】Linux 设置和管理网络接口配置信息 netconfig命令 使用指南
【Shell 命令集合 网络通讯 】Linux 设置和管理网络接口配置信息 netconfig命令 使用指南
56 1
|
1月前
|
监控 Linux Shell
【Shell 命令集合 网络通讯 】Linux管理终端设备的登录过程 getty命令 使用指南
【Shell 命令集合 网络通讯 】Linux管理终端设备的登录过程 getty命令 使用指南
34 0
|
1月前
|
搜索推荐 Shell Linux
【Shell 命令集合 系统管理 】Linux 管理用户配置文件 userconf命令 使用指南
【Shell 命令集合 系统管理 】Linux 管理用户配置文件 userconf命令 使用指南
38 2
|
17天前
|
网络协议 Linux
在Linux中,管理和配置网络接口
在Linux中管理网络接口涉及多个命令,如`ifconfig`(在新版本中被`ip`取代)、`ip`(用于网络设备配置)、`nmcli`(NetworkManager的CLI工具)、`nmtui`(文本界面配置)、`route/ip route`(处理路由表)、`netstat/ss`(显示网络状态)和`hostnamectl/systemctl`(主机名和服务管理)。这些命令帮助用户启动接口、设置IP地址、查看连接和路由信息。不同发行版可能有差异,建议参考相应文档。
19 4
|
29天前
|
安全 Ubuntu Shell
Linux之用户权限和文件权限详解
Linux之用户权限和文件权限详解
|
11天前
|
消息中间件 监控 Linux
Linux进程和计划任务管理
通过这些命令和工具,你可以有效地管理Linux系统中的进程和计划任务,监控系统的运行状态并保持系统的稳定和可靠性。 买CN2云服务器,免备案服务器,高防服务器,就选蓝易云。百度搜索:蓝易云
103 2