关于小悟志网站地图归档友情链接联系Feed

云上小悟 + 

首页 » InfoTech »

Linux的文件类型和权限

InfoTech
2017年7月13日 / 15次阅读
标签:Linux

文章《Linux的文件类型和权限》的特色图片

在Linux系统中,一切都是文件。

Linux是一个多用户的操作系统,权限管理比Windows严格(这也是为什么Windows系统更容易遭到病毒攻击的原因之一)。在Linux下,一般操作都不使用root账户,root账户如果操作不当,是可以自杀(毁掉整个系统)的。

 

不同的用户对文件拥有不同的权限,先看下图:

Linux的文件类型和权限

Linux的文件类型和权限

使用命令ll(两个小写的L)或者ls -al,就能看到当前目录下的文件情况(命令pwd用来显示当前路径)。

 

下面说一下Linux的文件类型:

第一个字符用于描述文件类型,可有的取值是:-、d、l、b、c、s和p。

“-”代表这是一个普通文件;

“d”代表这是一个目录;

“l”代表这是一个软链接,硬链接;

“b”和“c”都代表着设备文件,“b”是块设备,如磁盘等保存大块数据的设备,“c”是字符设备,如鼠标、键盘等需要连续串行读写的设备;

“s”代表是套接字(socket)文件;

“p”命名管道文件。

 

Linux的文件权限:

rwx表示文件的读写执行权限,权限控制范围,请参考上图。

对于目录来说,“x”权限可以控制用户是否能够打开它,只有具备“x”权限的用户才能打开这个目录。而如果要想使用ls命令来查看这个目录下的文件列表,则必须拥有“r”权限,否则即便能进入,也无济于事。那么要想在目录中创建文件呢?显然要拥有“w”权限了。

对于其他类型的文件,若想读取,则需要“r”权限;若想能够使用编辑器编辑,就必须同时具备“r”和“w”这两个权限。如果一个文件是shell脚本或其他可执行的文件,要能够被执行,应当具备“x”权限。

 

Linux下的隐藏文件,前面都有一个小点(.)。

ls -a,其中-a这个参数,就是可以用来显示隐藏文件。

 

特别的s权限

s这个标记可以出现在文件拥有者的x权限位上,也可以出现在文件所属组的x权限位上。这两种情况是有些差别的。前者被称为Set UID,简称SUID,而后者被称为Set GID,简称SGID。

xinlin@ubuntu:~$
xinlin@ubuntu:~$ ls -l /bin/su
-rwsr-xr-x 1 root root 40128 May 16 16:37 /bin/su
xinlin@ubuntu:~$

su命令程序的拥有者x位就被设置成了s权限。

SUID权限拥有这样的功能:

  1. SUID仅对二进制程序有效;
  2. 执行者对于该程序具有x的可执行权限;
  3. 执行权限仅在执行该程序的过程中有效;
  4. 执行者将具有该程序拥有者的权限。

su这个命令,无论任何人,执行了它都将具有root权限,因为它的拥有者是root,只是这个权限仅在执行的su命令中有效。这也是su命令能够切换用户权限的实现原理。

相对于SUID,SGID就比较少见个了。比较典型的是/usr/bin/locate命令,它们权限是“-rws--s--x”,这就是SGID了。要设置SGID权限,可以使用“g+s”来进行。SGID权限的功能是这样的:

  1. SGID对二进制程序有效。
  2. 执行者对于该程序具有x的可执行权限。
  3. 执行者在执行的过程中将会获得该程序所属用户组的支持。

 

t权限

t权限的名称是Sticky Bit,简称SBIT,仅对目录有效。SBIT对于目录的作用如下:

  1. 用户若对此目录拥有w和x权限,即拥有写的权限。
  2. 当用户在此目录下创建了文件或目录,仅自己与root才有权利删除文件。

换句话说,当用户U在目录D下创建文件F,若D拥有SBIT权限,那么仅有用户U和root能删除文件F。

SBIT应用的典型例子是/tmp目录。这个目录允许任何用户在里面创建文件,但是为了避免创建的文件被其他人误删除,则设置SBIT权限,使得自己创建的文件仅能让自己或root删除。(在Ubuntu Desktop测试,创建目录和文件,都不能自动设置SBIT,看要必须要手动设置)

xinlin@ubuntu:/tmp$
xinlin@ubuntu:/tmp$ ll
total 48
drwxrwxrwt 11 root root 4096 Jul 13 01:28 ./
drwxr-xr-x 24 root root 4096 Jul 13 00:54 ../
-rw------- 1 xinlin xinlin 0 Jul 13 00:32 config-err-scAvTs
drwxrwxrwt 2 root root 4096 Jul 13 00:31 .font-unix/
drwxrwxrwt 2 root root 4096 Jul 13 00:32 .ICE-unix/
drwx------ 3 root root 4096 Jul 13 00:32 systemd-private-4c10a209c8044d0ebfac71d358107b83-colord.service-o0rSyQ/
drwx------ 3 root root 4096 Jul 13 00:31 systemd-private-4c10a209c8044d0ebfac71d358107b83-rtkit-daemon.service-a02CyX/
drwx------ 3 root root 4096 Jul 13 00:45 systemd-private-4c10a209c8044d0ebfac71d358107b83-systemd-timesyncd.service-ZkiidR/
drwxrwxrwt 2 root root 4096 Jul 13 00:31 .Test-unix/
-rw-rw-r-- 1 xinlin xinlin 0 Jul 13 00:32 unity_support_test.0
drwxrwxrwt 2 root root 4096 Jul 13 00:31 VMwareDnD/
-r--r--r-- 1 root root 11 Jul 13 00:31 .X0-lock
drwxrwxrwt 2 root root 4096 Jul 13 00:31 .X11-unix/
drwxrwxrwt 2 root root 4096 Jul 13 00:31 .XIM-unix/
xinlin@ubuntu:/tmp$

 

本文链接:http://www.maixj.net/ict/linux-lx-qx-15963
云上小悟 麦新杰(QQ:1093023102)

相关文章

评论是美德

无力满足评论实名制,评论对非实名注册用户关闭,有事QQ:1093023102.


前一篇:
后一篇:

栏目精选


©Copyright 麦新杰 Since 2014 云上小悟独立博客版权所有 备案号:苏ICP备14045477号-1

网站二维码
拍拍贷
go to top