shell 编程--ch01 文件安全与权限
时间:2006-03-29 来源:alphix
ch01 文件安全与权限
1.1 文件
当你创建一个文件是,系统保存该文件的信息有:
1.文件的位置
2.文件的类型
3.文件长度
4.文件的宿主,宿主所在组和访问控制
5.i节点
6.文件最后修改时间
7.文件的权限位
code: %ls -l [目录] #省略则表示当前目录
1.2 文件类型
d 目录
l 符号链接(相当如一个文件的快捷方式)
s 套接字文件
b 块设备文件
c 字符设备文件
p 命名管道文件
- 普通文件,或者说不属于以上几种类型的文件. 1.3 文件权限
r w x
---------------------------------------
可读 可写 可执行
---------------------------------------
4 2 1
---------------------------------------
每种用户:owner/group/other拥有的最高权限为rwx=4+2+1=7
所以一个文件的最高权限为-rwxrwxrwx=0777.少一种权限则减掉相应的数字.
-rwxr-xr-x=0755. 1.4 改变权限位 1.4.1 符号模式
chmod命令
语法:chmod [u,g,o] [=/+/-] [r/w/x/t/s/l] filename
u: user--文件属主
g: group--文件属主所在组
o: other
operator:
=: 接rwx的组合,表示赋权限给u/g/o
+: 接rwx的组合,表示增加权限给u/g/o
-: 接rwx的组合,表示减少u/g/o的权限
permission的含义:
s: 文件属主和组set-ID
t: 粘性位*
l: 给文件加锁,使其他用户无法访问
* 在列文件和目录时,有机会遇到"t"位,"t"代表了粘性位.如果在一个目录上出现了
"t"位,表示该目录的文件只有属主才可以删除,即使某个同组用户有和属主同等的权限.
如果在文件列表时看到"t",那么这就意味着该脚本和程序在执行时会被放在交换区
不过由于当今的内存价格如此之低,大可不必理会文件的"t"的使用 1.4.2 chmod 命令举例
myfile -rwxrwxrwx:
%chmod a-x myfile :-rw-rw-rw-
%chmod og-w myfile :-rw-r--r--
%chmod g+w myfile :-rw-rw-r--
%chmod u+x myfile :-rwxrw-r--
1.4.3 绝对模式
语法:chmod [mode] file
mode:数字组合
1.5 目录(略) 1.6 suid/guid
1.6.1 suid/guid的作用
suid/guid的作用是让一些没有管理员权限的人也能执行某些脚本文件.这样就有效的保护了数据因为不小心而被破坏的可能.
查找suid文件:
%ls -l | grep '^...s'
查找guid文件
%ls -l | grep '^...s...s'
设置suid/guid的方法:
suid的权限位为4,guid的权限位代表数字为2,如果两者都设置,则4+2=6.
例如,对login设置suid,当前的权限为:rwxrw-r--(741)
%chmod 4741 login
1.6.2 suid/guid 设置举例
命令 结果
chmod 4755 rwsr-xr-x
chmod 6711 rws--s--s
chmod 4764 rwsrw-r-- 1.7 chown 和 chgrp
语法: chwon/chgrp -R -h owner file
参数: -R 递归的所有子目录下的文件也进行同样的设置.
-h 改变符号链接文件的属主时不影响该链接所指向的文件.
1.7.1 chown 举例(略) 1.8 umask(略) 1.9 符号链接
1.9.1 软符号链接
语法:ln [-s] source_path target_path
当你创建一个文件是,系统保存该文件的信息有:
1.文件的位置
2.文件的类型
3.文件长度
4.文件的宿主,宿主所在组和访问控制
5.i节点
6.文件最后修改时间
7.文件的权限位
code: %ls -l [目录] #省略则表示当前目录
1.2 文件类型
d 目录
l 符号链接(相当如一个文件的快捷方式)
s 套接字文件
b 块设备文件
c 字符设备文件
p 命名管道文件
- 普通文件,或者说不属于以上几种类型的文件. 1.3 文件权限
r w x
---------------------------------------
可读 可写 可执行
---------------------------------------
4 2 1
---------------------------------------
每种用户:owner/group/other拥有的最高权限为rwx=4+2+1=7
所以一个文件的最高权限为-rwxrwxrwx=0777.少一种权限则减掉相应的数字.
-rwxr-xr-x=0755. 1.4 改变权限位 1.4.1 符号模式
chmod命令
语法:chmod [u,g,o] [=/+/-] [r/w/x/t/s/l] filename
u: user--文件属主
g: group--文件属主所在组
o: other
operator:
=: 接rwx的组合,表示赋权限给u/g/o
+: 接rwx的组合,表示增加权限给u/g/o
-: 接rwx的组合,表示减少u/g/o的权限
permission的含义:
s: 文件属主和组set-ID
t: 粘性位*
l: 给文件加锁,使其他用户无法访问
* 在列文件和目录时,有机会遇到"t"位,"t"代表了粘性位.如果在一个目录上出现了
"t"位,表示该目录的文件只有属主才可以删除,即使某个同组用户有和属主同等的权限.
如果在文件列表时看到"t",那么这就意味着该脚本和程序在执行时会被放在交换区
不过由于当今的内存价格如此之低,大可不必理会文件的"t"的使用 1.4.2 chmod 命令举例
myfile -rwxrwxrwx:
%chmod a-x myfile :-rw-rw-rw-
%chmod og-w myfile :-rw-r--r--
%chmod g+w myfile :-rw-rw-r--
%chmod u+x myfile :-rwxrw-r--
1.4.3 绝对模式
语法:chmod [mode] file
mode:数字组合
1.5 目录(略) 1.6 suid/guid
1.6.1 suid/guid的作用
suid/guid的作用是让一些没有管理员权限的人也能执行某些脚本文件.这样就有效的保护了数据因为不小心而被破坏的可能.
查找suid文件:
%ls -l | grep '^...s'
查找guid文件
%ls -l | grep '^...s...s'
设置suid/guid的方法:
suid的权限位为4,guid的权限位代表数字为2,如果两者都设置,则4+2=6.
例如,对login设置suid,当前的权限为:rwxrw-r--(741)
%chmod 4741 login
1.6.2 suid/guid 设置举例
命令 结果
chmod 4755 rwsr-xr-x
chmod 6711 rws--s--s
chmod 4764 rwsrw-r-- 1.7 chown 和 chgrp
语法: chwon/chgrp -R -h owner file
参数: -R 递归的所有子目录下的文件也进行同样的设置.
-h 改变符号链接文件的属主时不影响该链接所指向的文件.
1.7.1 chown 举例(略) 1.8 umask(略) 1.9 符号链接
1.9.1 软符号链接
语法:ln [-s] source_path target_path
相关阅读 更多 +