分类: linux
2012-05-30 16:42:54
1 chomd : 设置文件或者目录的权限
字符设定法:chmod [ugoa] [ | - | =] filename
u:代表用户;g:同组用户;o:其它用户;a:所有用户
:表示添加权限;-:表示减少权限;=:设置权限为
数字设定法
你查看一个文件的权限时,会发现诸如-rwx-wx--x这种形式来表示文件的权限。
其中第一个如果为d表示目录,-则为文件;从第二个字符开始连续9个字符分别代表用户,用户组和其他人的权限,每个有三个字符rwx组成,其中r代表读权限,w代表写权限,x代表执行权限。所以,每个数字对应一组用户的权限,该数为八进制,它的二进制表示形式的高位表示读权限,中间位为写权限,低位为执行权限,1表示具有权限,0则没有。因此4表示具有读权限,2表示具有写权限,1表示具有执行权限。
因此设定一个文件对所有人具有读写可执行权限,可用下面的命令:
chmod 777 filename
2 dd:复制和转换文件。
dd主要用在磁带或者全盘驱动器之类的设备之间复制文件。同时,dd可以在不同的操作系统之间传递信息,而其它方法都不行。
主要参数
if=filename (input file)从filename而非标准输入中读取。也可以用设备名来替换filename,使得从设备上读取文件。
of=filename (output file)写道指定文件或者设备。
bs=n(block size)每次读写n个字节,该参数将覆盖ibs和obs的设置
cbs=n(conversion block size)当进行复制的过程中要数据转换的时候,每次转换n个字节
ibs=n (inputblock size)每次读n个字节
obs=n (output block size)每次写n个字节
conv=type[,type...] 按照命令行上types给出的顺序,转换被复制的数据。
count=numblocks 将dd要复制的块数限制在numblocks之内。每块大小是由ibs参数指定的字节数。
seek=numblocks 开始写以前,跳过输出的numblocks个块,每个块的大小由参数obs指定。
skip=numblocks 开始复制以前,跳过输入夫人numblocks个块,每个块的大小由参数ibs指定。
type类型
notrunc 在写文件之前,不进行截断文件操作
lcase复制数据的时候,将大写字母转换为小写字母。
ucase将小写字母转换为大写字母。
noerror 如果发生了一个错误,dd通常会终止。但是该转换允许dd继续处理;当用户希望从坏的介质中读取数据的时候,该转换非常有用。
应用实例:
粉碎文件
可以利用dd将/dev/urandom文件读取输入,写道文件中,从而实现粉碎文件。多次写入可以提高安全性。
第一步,使用ls -l显示文件secret的大小
ls -l secret
-rw-rw-r-- 1 lishuo lishuo 7985 5月 29 19:07 secret
第二步,使用dd粉碎文件,块大小为1,count为文件secret的大小。参数conv=notrunc确保恰好覆盖文件中的数据,而不覆盖磁盘的其它位置。
dd if=/dev/urandom of=secret bs=1 count=7985 conv=notrunc
记录了7985 0 的读入
记录了7985 0 的写出
7985字节(7.9 kb)已复制,0.0297408 秒,267 kb/秒
第三步,使用rm删除文件secret(可以在此步之前多次执行覆盖操作,以提高安全性)
rm secret
复制磁盘
使用dd可以将某些文件复制到软盘中。