linux的文件属性

文件属性

67603664 -rw-r--r--  1 root root  225 Dec  4 14:56 test.log

inode  文件类型  权限  硬链接数  属主  属组  文件大小  文件修改时间  文件名或者目录名(不属于属性)

  • inode: 索引节点
  • 文件类型:  d 目录     - 普通文件     i 表示软连接    b 表示块设备和其他外围设备  c 表示字符设备文件    s  便是socket文件  p 表示管道文件 
  • 权限: 属主  属组  其他 的权限  可读 可写 可执行
  • 硬链接数:  总共有几个出口
  • 文件修改时间
  • 文件名或者目录名

通过stat可以查看文件详细信息

[root@test1 ~]# stat  a.log 
  File: ‘a.log’
  Size: 12            Blocks: 8          IO Block: 4096   regular file
Device: 802h/2050d    Inode: 67603682    Links: 2
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2018-12-06 13:34:46.790355428 +0800
Modify: 2018-12-06 13:34:21.480355428 +0800
Change: 2019-01-03 12:17:08.494355428 +0800
 Birth: -

文件权限

  r 可读 w 可写 x可执行

 文件权限

1.可读r:表示具有读取、浏览文件内容(block)的权限;

2.可写w:表示具有新增、修改文件内容的权限;  w和r配合

①如果没有r配合,,vim编辑文件会提是无法编辑(但可以强制编辑),强制编辑后会导致源文件内容清空。但echo可以正常写入文件。

②如果没有w,可以通过vim进行强行编辑。但echo无法写入文件。

③特别提示:删除文件(修改主机名)或创建文件的权限是受父目录(上一级目录)的权限控制,和文件本身权限无关。

3.可执行x:表示执行文件的权限  ===》执行权限需要r的配合。

没有办法读取怎么能执行呢

这个文件本身能够执行(命令或脚本)。

但root用户只要有x的权限才能执行

普通用户同时还需要具备r权限才能执行

linux可执行文件:*.sh  *.py *.perl等

目录权限

对于目录来说

r 权限只能读取或查看目录中的内容   r权限需要和x权限配合 (目录里面的内容文件,但是无法查看文件的属性信息)

w 是否可以在目录下面创建文件 w权限需要和x权限配合

x 是否可以进入文件 (目录  对目录里面的内容进行删除创建修改文件名)

x表示具有进入文件的权限

对于目录来说X是必须的,用它来访问目录下面文件的inode信息。

特殊权限

[root@test]# ls -ld /usr/bin/passwd /tmp/ /usr/bin/locate 
drwxrwxrwt. 4 root root     4096 May 18 15:03 /tmp/
-rwx--s--x. 1 root slocate 38464 Mar 12  2015 /usr/bin/locate
-rwsr-xr-x. 1 root root    30768 Nov 24  2015 /usr/bin/passwd
suid 运行某一个命令的时候相当于这个用户的所有者运行(root)
/usr/bin/passwd 这个文件 
passwd修改 /etc/shadow  普通用户没有权限
普通用户可以修改/etc/shadow里面的内容所以有suid
如何给一个命令添加上suid
chmod u+s /bin/rm
suid  很危险
t粘滞位   使自己的文件只有自己能处理(除了root)
/tmp下

suid 4000 权限字符s (S表示位置上没有x权限) 用户位上的x为设置

授权方法 chmod 4755 /bin/rm或chmod u+s /bin/rm

sgid 2000 权限字符s (S),用户组位上x位上设置。

授权方法 chmod 2755 oldboy.txt或chmod g+s test

粘滞位 1000 权限字符t(T),其他用户的x位上设置

授权方法 chmod 1777 /tmp或chmod o+t /tmp

如果对应位有x则字符权限表现为小写,否则表现为大写

linux高级优化场景 tmp目录常常是木马第一手跳板地点。

文件系统的属性

chattr  改变文件的属性

  +i 锁定文件不被摧毁修改  可以锁目录 目录不可被摧毁 不会被修改

chattr=change attr(属性)

-i 去掉

+a 只能追加

lsattr 查看文件系统的属性

chattr

常见命令参数

A:即Atime,告诉系统不要修改对这个文件的最后访问时间。
S:即Sync,一旦应用程序对这个文件执行了写操作,使系统立刻把修改的结果写到磁盘。
a:即Append Only,系统只允许在这个文件之后追加数据,不允许任何进程覆盖或截断这个文件。如果目录具有这个属性,系统将只允许在这个目录下建立和修改文件,而不允许删除任何文件。
b:不更新文件或目录的最后存取时间。
c:将文件或目录压缩后存放。
d:当dump程序执行时,该文件或目录不会被dump备份。
D:检查压缩文件中的错误。
i:即Immutable,系统不允许对这个文件进行任何的修改。如果目录具有这个属性,那么任何的进程只能修改目录之下的文件,不允许建立和删除文件。
s:彻底删除文件,不可恢复,因为是从磁盘上删除,然后用0填充文件所在区域。
u:当一个应用程序请求删除这个文件,系统会保留其数据块以便以后能够恢复删除这个文件,用来防止意外删除文件或目录。
t:文件系统支持尾部合并(tail-merging)。
X:可以直接访问压缩文件的内容。

猜你喜欢

转载自www.cnblogs.com/lfdblog/p/10214871.html