shell基础1:文件安全与权限 主要有以下内容:
- 文件权限位
- 基本命令
- chmod
- suid/guid
- chown
- chgrp
- umask算法和用法
- 符号链接
当创建一个文件的时候,系统 保存了有关该文件的全部信息,包括:
" 文件的位置。
" 文件类型。
" 文件长度。
" 哪位用户拥有该文件,哪些用户可以访问该文件。
" i节点。
" 文件的修改时间。
" 文件的权限位。
让我们用touch命令创建一个文件:
- $ touch temp
创建了一个空文件,现在用ls -l命令查看该目录下文件的属性(我这里用中文 版):
如下:
- [root@Linux_chenwy temp]# ls -l
- 总用量 36
- -rw-r--r-- 1 root root 34890 10月 19 20:17 httpd.conf
- -rw-r--r-- 1 root root 0 10月 19 20:16 temp
- 目录
目录的权限位和文件有所不同。目录的读权限位意味着可以列出其中的内容。写权限位意味着可以在该目录中创建文件,如果不希望其他用户在你的目录中创建文件,可以取消相应的写权限位。执行权限位则意味着搜索和访问该目录.
- r :可以列出该目录中的文件
- w:可以在该目录中创建或删除文件
- x:可以搜索或进入该目录
权限文件属主属组用户其他用户
- drwx rwx r- x ( 775 ) 属主读、写、执行,属组读、写、执行,其它组读、执行
- drwx r-x r- - ( 754 ) 属主读、写、执行,属组读、执行,其它组读
- drwx r-x r- x ( 755 ) 属主读、写、执行,属组读、执行,其它组读、执行
如果把属组用户或其他用户针对某一目录的权限设置为- - x,那么他们将无法列出该目录中的文件。如果该目录中有一个执行位置位的脚本或程序,只要用户知道它的路径和文件名,仍然可以执行它。用户不能够进入该目录并不妨碍他的执行。
目录的权限将会覆盖该目录中文件的权限。例如,如果目录temp具有如下的权限:
- drwxr--r-- 1 admin 0 10月 19 20:16 temp
而目录下的文件myfile的权限为:
- -rwxrwxrwx 1 admin 0 10月 19 20:16 myfile
那么admin组的用户将无法编辑该文件,因为它所属的目录不具有这样的权限。
该文件对任何用户都可读,但由于它所在的目录并未给admin组的用户赋予执行权限,所以该组的用户都将无法访问该目录,他们将会得到“访问受限”的错误消息。总用量 36:是ls所列出的入口占用空间的字节数(以K为单位)。
- r :可以列出该目录中的文件