Linux文件权限知识

Linux系统以安全性高著称,它有完善的文件和目录权限控制机制。

使用ls -l或者ll命令可查看系统中文件和目录的权限。

如:

[root@user ~]# ll
-rw-r--r-- 1 root          root              50883 May 12 13:16 install.log
-rw-r--r-- 1 root          root               3065 May 12 13:16 install.log.syslog
drwxr-xr-x 2 root          root               4096 May 15 14:55 tests
drwxr-xr-x   3 root     root       4096 2005-05-05 02:01 SAPGUI
-rwxr-xr-x   1 root     root        268 2005-03-13 15:44 test

最左边的一串字符是文件和目录的权限控制字符串,权限字符串的第一个字母代表文件类型,不同字符代表不同的意思:

-,一般文件

d,目录

l,符号连接

b,块特殊文件

c,字符特殊文件

s,socket套接字

p,命名管道

后面9个字符分成三组,分别代表user(用户),group(组)和other(其它)的许可权限。每组有三个权限位,代表具体的权限:

r,表示文件可读或目录可读,位于三位权限组的第一位置。

w,表示文件可修改或目录可修改,位于三位权限组的第二位置。

x,表示文件可执行或目录中的文件可执行,位于三位权限组的第三位置。

s,表示set UID或set GID。位于user或group权限组的第三位置。如果在user权限组中设置了s位,则当文件被执行时,该文件是以文件所有者UID而不是用户UID执行程序。如果在group权限组中设置了s位,当文件被执行时,该文件是以文件所有者GID而不是用户GID执行程序。s权限位是一个敏感的权限位,容易造成系统的安全问题。请在设置时小心,并注意系统中已有的SUID或SGID文件和目录。

t,表示粘着位(sticky)。具有该位的文件和目录只有创建者才能删除。

-,表示没有权限。该字符可出现在任何位置,表示没有许可权限。

权限位后面的数字3,1,1,1表示硬链接的链接数,3表示有三个硬链接,1表示有一个硬链接。

常用目录权限设置

0755,所有人都可以查看目录的内容,但只有root或所有者才能修改。

1777,所有人都可在该目录下创建文件,但不能删除其它用户创建的文件。一个典型目录就是/tmp。

0700,只能由所有者访问的目录。如home目录。

当我们在linux中创建一个文件或目录时,系统通过umask环境变量来控制默认的权限位设置。umask的值多为022,在profile文件里设置。设置格式如下:

...
umask 022
...

在umask值的2表示屏蔽写权限,7表示屏蔽读写权限。最常用的值是022,027和077。

使用chmod,chown和chgrp改变文件的访问权限,使用setuid和setgid来改变特殊位。

使用ls -i filename命令可以列出文件的inode信息。如:

localhost:~# ls -i simple.png
32563 simple.png
32563就是simple.png的inode节点的值。

inode值相同的链接是硬链接,inode值不同的是软链接。

硬链接示例:

localhost:~# ls -li simple.png
32563 -rw-r--r-- 1 root root 1574 2005-12-15 14:59 simple.png
localhost:~# ln simple.png simple1.png            #创建硬链接
localhost:~# ls -il simple1.png
32563 -rw-r--r-- 2 root root 1574 2005-12-15 14:59 simple1.png
localhost:~# ls -li simple1.png
32563 -rw-r--r-- 2 root root 1574 2005-12-15 14:59 simple1.png   #inode值与simple.png一样。链接值变成2
#改变互为硬链接的文件内容时,另一个文件的内容也相应被改变。但删除一个文件不会影响另一个文件。

软链接示例:

localhost:~# ls -il simple.png
32563 -rw-r--r-- 1 root root 1574 2005-12-15 14:59 simple.png
localhost:~# ln -s simple.png simple1.png    #创建软链接
localhost:~# ls -il simple.png
32563 -rw-r--r-- 1 root root 1574 2005-12-15 14:59 simple.png
localhost:~# ls -il simple1.png
32836 lrwxrwxrwx 1 root root 10 2006-04-27 13:16 simple1.png -> simple.png   #inode值与simple.png不一样了。
#软链接相当于重新创建一个链接文件,inode值不同了。源文件的链接值也不会增加。删除源文件,软链接文件也失效。

1.3. 文件属性
使用lsattr和chattr命令可以显示和改变文件属性。

s(secure deletion),当文件被删除时,分配在该文件中的所有块都会清零,并写入磁盘,保证文件的数据被彻底清除,不能被访问。

u(undelete),该属性可保存被删除的文件内容。

c(compress),当文件保存在磁盘时,内核会自动压缩该文件。

S(synchronous),当修改具有该属性的文件时,所有更改将同步写入磁盘。

i(immutable),设置了该属性的文件不允许更改。

a(append only),文件只能以追加模式打开,只有root才能设置或删除主该属性。

d(no dump),具有该属性的文件不能被dump工具备份。

A(no atime),不更新atime值,atime是文件文件的访问时间戳
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值