shell day day up----文件安全与权限

《本文整理自网络上的一本书籍》

一、文件信息介绍

shell day day up----文件安全与权限

总用量 169772 指的是该目录(nunu目录)中所有文件所占的空间

下面分析每一行的具体意义

第一位(d,r)指的是文件的类型。一共有七种类型:

d 目录

l 符号链接(指向另一个文件_现在理解为快捷方式)

s 套接字文件

b 块设备文件

c 字符设备文件

p 命令管道文件

- 普通文件,就是指不属于以上几种的文件类型

后面紧随有9个字母---每三位为一组(r表示读权限、w表示写权限、x表示执行权限)

rwx-xr-x中

rwx:文件属主权限--创建该文件的用户-前三位

r-x:同住用户的权限--与属主统一用户组的用户的权限-中间三位

r-x:其他用户的权限-后三位

在后面的数字 表示该文件硬链接数目

再后面的nunu 表示文件的属主

在后面的nunu 表示该文件的属主所在的缺省组

在后面数字4096 用字节表示的文件长度

再后面为文件的更新时间

再后面为文件名

二、改变权限问

2.1、符号模式

命令的一般格式:
chmod [who] operator [permission] filename
其中who
u 文件属主权限
g 同组用户权限
o 其他用户权限
a 所有用户

operator:

+ 增加权限

- 减少全乡

= 设定权限

permission

r 读权限

w 写权限

x 执行权限

s 文件属主和组set-ID

t 粘性为*(如有说明只有属主可以删除文件)

l 给文件加锁,使其他用户无法访问


shell day day up----文件安全与权限

2.2、绝对模式

chmod [mode] file
其中mode是一个八进制数
0400 文件属主可读
0200 文件属主可写
0100 文件属主可执行
0040 同组用户可读
0020 同组用户可写
0010 同组用户可执行
0004 其他用户可读
0002 其他用户可读
0001 其他用户可执行

如果要赋值就是对3中权限的全部赋值。需要哪些权限只要相加就好

shell day day up----文件安全与权限

另外如果希望一次性设置目录下所有文件权限可这样写:chmod 644*

如果想连同子目录下文件一起设置可这样写:chmod -R 664 /usr/local/*

三、目录权限

目录权限含义有所不同。读权限以为用户可以列出其中的内容、写权限以为可以创建-删除文件、执行表示用户可以搜索和访问该目录

另外目录权限会覆盖底下的文件目录

四、suid/guid位

suid如果被置位表示其他用户操作该脚本是拥有该属主的权限

guid则表示其他用户操作该脚本时拥有该属主所属组的权限

符号模式:chmod u+s <filename>

绝对模式:chmod 4777 <filename> ---第一位2为guid 4为suid

五、chown/chgrp

chown -R -h owner file

h表示改变呼号连接文件的属主时不影响该连接所指向的目标文件

找出自己的用户组可用id命令

shell day day up----文件安全与权限

六、umask

umask确定你创建文件的缺省模式。一般来说umask命令在/etc/profile文件中设置的,每个用户登录时都会引用这个文件。所以希望改变所有用户的umask,可以再该文件中加入响应的条目。如果希望永久的设置自己的umask,那么就把它放在自己HOME目录下的.profile或则.bash_profile文件中

umask可以是777减去你设置的umask值(umask值为000-777)。这里需要区别文件开始时候都是没有执行权限的,所以要扣除掉执行的权限。

七、符号链接

连接包括软链接和硬链接。下面介绍软链接

软链接实际上是一个指向文件的指针,相当与window下的快捷方式

ln [-s] source_path target_source