shellscirpt 01 文件安全与权限

1. 设置隐藏属性

suid 意味着如果某个用户对属于自己的 shell 脚本设置了这种权限,那么其他用户在执行这一脚本时也会具有其属主的相应权限,guid , 执行相应脚本的用户将具有该文件所属用户组中用户的权限。

补充 :

- 设置权限是的隐藏权限作用 , 我管理着几个大型的数据库库系统,而对它们进行备份需要有系统管理权限,我写了几个脚本,并设置了它们的 guid, 这样我指定的一些用户只要执行这些脚本就能够完成相应的工作,而无需以数据库管理员的身份登录,以免不小心破坏了数据库服务器。

- 查找设置了 suid , guid 的文件 ls –l | grep ‘^…s’ 和 ls –l | grep ‘^…s..s’

- 设置隐藏位 : 如果只是设置主用户 即 suid,则将隐藏位设置成 4,而如果是 组用户 即 guid 设置成 2,而如果是两者同时,则设置成 4+2, 即 6 , 例如 chmod 4741 , chmod 6711 ( 一般都是设置成4,或6 )

这是固定的,如果只有3位,表示一般设置 chmod, 有 4 位 第 1 位表示设置 隐藏属性。

chmod 4741 表示执行时,具有跟 属主一样的权限 ( 一般用户要有执行该档案的权限 )

chmod 2741 表示执行时,具有跟 同组内其他用户的一样权限 ( 同样要有执行权限 )

chmod 6741 表示执行时,同时具有同组的属性和属主的属性 ( 同样具有执行权限 )

- 尽量还是不要设置 suid 等隐藏属性。( 很多系统不支持 )

2. 改变所有权和组权

chown –R –h owner file ( 改变文件所有权,其中 suid 会被自动清除, –R 表示递归, –h 改变符号链接文件的属主时不影响该链接所指向的目标文件。

3. 找到你所在的组或者属于哪个用户

group 命令 , group 默认找自己的组, group admin 找 admin 用户属于哪个组

id 命令

4. umask

- 计算 umask : 如果 umask 的值 002 所对应文件和目录创建缺省权限分别为 664 和 775 ( 其中目录具有执行属性 ) ( 计算的是 “拿走”的内容 )

- 查看 umask : 直接输入 umask 命令可以查看当前的 umask

- 设置 umask : umask 022 , 就会将当前的 umask 设置成 022.

posted @ 2012-12-14 18:03  神之一招  阅读(205)  评论(0编辑  收藏  举报