shell day day up----文件安全与权限
《本文整理自网络上的一本书籍》
一、文件信息介绍
总用量 169772 指的是该目录(nunu目录)中所有文件所占的空间
下面分析每一行的具体意义
第一位(d,r)指的是文件的类型。一共有七种类型:
l 符号链接(指向另一个文件_现在理解为快捷方式)d 目录
s 套接字文件
b 块设备文件
c 字符设备文件
p 命令管道文件
- 普通文件,就是指不属于以上几种的文件类型
后面紧随有9个字母---每三位为一组(r表示读权限、w表示写权限、x表示执行权限)
rwx-xr-x中
rwx:文件属主权限--创建该文件的用户-前三位
r-x:同住用户的权限--与属主统一用户组的用户的权限-中间三位
r-x:其他用户的权限-后三位
在后面的数字 表示该文件硬链接数目
再后面的nunu 表示文件的属主
在后面的nunu 表示该文件的属主所在的缺省组
在后面数字4096 用字节表示的文件长度
再后面为文件的更新时间
再后面为文件名
二、改变权限问
2.1、符号模式
u 文件属主权限g 同组用户权限o 其他用户权限a 所有用户
operator:
+ 增加权限
- 减少全乡
= 设定权限
permission
r 读权限
w 写权限
x 执行权限
s 文件属主和组set-ID
t 粘性为*(如有说明只有属主可以删除文件)
l 给文件加锁,使其他用户无法访问
2.2、绝对模式
0400 文件属主可读0200 文件属主可写0100 文件属主可执行0040 同组用户可读0020 同组用户可写0010 同组用户可执行0004 其他用户可读0002 其他用户可读0001 其他用户可执行
如果要赋值就是对3中权限的全部赋值。需要哪些权限只要相加就好
另外如果希望一次性设置目录下所有文件权限可这样写: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命令
六、umask
umask确定你创建文件的缺省模式。一般来说umask命令在/etc/profile文件中设置的,每个用户登录时都会引用这个文件。所以希望改变所有用户的umask,可以再该文件中加入响应的条目。如果希望永久的设置自己的umask,那么就把它放在自己HOME目录下的.profile或则.bash_profile文件中
umask可以是777减去你设置的umask值(umask值为000-777)。这里需要区别文件开始时候都是没有执行权限的,所以要扣除掉执行的权限。
七、符号链接
连接包括软链接和硬链接。下面介绍软链接
软链接实际上是一个指向文件的指针,相当与window下的快捷方式
ln [-s] source_path target_source