Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2047193
  • 博文数量: 326
  • 博客积分: 10010
  • 博客等级: 上将
  • 技术积分: 3485
  • 用 户 组: 普通用户
  • 注册时间: 2005-12-10 22:49
文章存档

2011年(1)

2009年(1)

2008年(6)

2007年(5)

2006年(154)

2005年(159)

我的朋友

分类: LINUX

2005-12-18 10:44:45







shell-ch1.文件安全与文件权限

一.查看文件权限:ls -l

二.改变权限的命令

三.目录权限的意义

四. suid/guid

五.文件所有权传递:chown -R -h owner    file

六.找出属于自己的用户组

八.符号链接:软链接和硬链接

七.umask

Ch1 .文件安全与文件权限

一.查看文件权限:ls -l

九位符号前还有一位表示文件类型

d 目录

l  符号链接

s  套接字文件

b  块设备文件(block)

c  字符设备文件(character)

设 备被大概的分为两类:字符设备和块设备。区别是块设备有缓冲区,所以它们可以对请求进行优化排序。这对存储设备尤其 重要,因为读写相邻的文件总比读写相隔很远的文件要快。另一个区别是块设备输入和输出 都是以数据块为单位的,但是字符设备 就可以自由读写任意量的字节。大部分硬件设备为字符设备,因为它们不需要缓冲区和数据不是按块来传输的。你可以通过命令ls -l输出的头一个字母识别一个 设备为何种设备。如果是'b' 就是块设备,如果是'c'就是字符设备。以上你看到的是块设备。这儿还有一些字符设备文件(串口):

crw-rw----  1 root  dial 4, 64 Feb 18 23:34 /dev/ttyS0
crw-r-----  1 root  dial 4, 65 Nov 17 10:26 /dev/ttyS1
crw-rw----  1 root  dial 4, 66 Jul  5  2000 /dev/ttyS2
crw-rw----  1 root  dial 4, 67 Jul  5  2000 /dev/ttyS3
           

如果你想看一下已分配的主设备号都是些什么设备可以看一下文件 /usr/src/linux/Documentation/devices.txt

 p  命名管道文件

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

一般来讲,文件被建时不会被给予执行权限,这是出于安全的考虑。可以设置umask来设置。

*对文件属主来说,在只有读权限时,仍然可以用文件重定向方法向该文件写入

二.改变权限的命令:

chomd

相对模式chmod [who] operator [permission] filename

who:u,g,o,a

operator:+,-,=

permission: r,w,x,s,t,l

s文件属主和组set-ID

t 粘性位*

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

*在列文件或目录时,有时会遇到“ t”位。“t”代表了粘性位。如果在一个目录上出现

“t”位,这就意味着该目录中的文件只有其属主才可以删除,即使某个同组用户具有和属主

同等的权限。不过有的系统在这一规则上并不十分严格。

如果在文件列表时看到“ t”,那么这就意味着该脚本或程序在执行时会被放在交换区(虚存)。不过由于当今的内存价格如此之低,大可不必理会文件的“ t”的使用。

绝对模式:

chmod [mode] file

mode是一个八进制数

r 4,w 2,x 1,

-R

连同子目录下的文件一起设置。

-R选项一定要慎重,只有在需要改变目录树下全部文件夹权限时才可以使用。

三.目录权限的意义:

读:可以列出其中内容

写:可以在该目录中创建文件

   执行:可以搜索和访问该目录。

   --X:无法列出目录中的文件,但如果知道其中文件的路径和文件名,仍然可以执行它。用户不能够进入该项目录并不妨碍他的执行。

   目录的权限会覆盖该目录中文件的权限。

四. suid/guid

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

有相当一些U N I X命令也设置了s u i dg u i d。如果想找出这些命令,可以进入/ b i n/ s b i n

录,执行下面的命令:

$ ls -l | grep '^...s'

上面的命令是用来查找s u i d文件的;

$ ls -l | grep '^...s..s'

上面的命令是用来查找s u i dg u i d的。

设置:suid 4

guid 2

all 4+2

一旦设置了这一位,一个S将出现在X的位置,在设置suid/guid的同时,相应的执行权限位必须被设置。

命令chmod 4/2/6mode filename.

chmod who+s filename

在查找设置了s u i d的文件时没准会看到具有这样权限的文件rwS r-x r- x其中S为大写。

它表示相应的执行权限位并未被设置,这是一种没有什么用处的s u i d设置,可以忽略它的存在。

五.文件所有权传递:chown -R -h owner    file

-R 对子目录也进行同样的操作。

-h 在改变符号链接文件的属主时不影响该链接所指向的目标文件。

chgrp 改变文件所属的组。

六.找出属于自己的用户组:

group  / id

找出其他用户所属的组

group username

七.umask

umask nnn

对于文件来说,最大为666

系统不允许你在创建一个文本文件时就赋予它执行权限。可以在创建后用chmod命令增加这一权限。

对目录来说,最大为777

八.符号链接:软链接和硬链接

ln [-s] source_path target_path

不管是否在同一个文件系统中,都可以创建链接。在创建链接的时候,不要忘记在原有

目录设置执行权限。链接一旦创建,链接目录将具有权限7 7 7rwx rwx rwx,但是实际的原

有文件的权限并未改变。

阅读(788) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~