文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>shell编程笔记1----文件安全与权限

shell编程笔记1----文件安全与权限

时间:2006-09-23  来源:fdmtdmcdm

第一章 文件安全与权限   文件的三种访问方式:
读(r,read)、写(w,write)、执行(x,execute)
文件的权限分为三类
文件属主(u,user),同组用户(g,group),其他用户(o,other)
通过ls -l命令查看如下:
-rwxr--r--   1 xxxuser  wnms         181 Jun 21 09:28 sie_hw_btsdata.sh
drwxr-xr-x   2 xxxuser  wnms         512 Sep 12 10:58 test
下面从左到右分别介绍
-rwxr--r--是文件的权限位,第一位可能出现的为-(普通文件),d(目录文件),l(符号链接文件),s(套接字文件),b(块设备文件),c(字符设备文件),p(命名管道文件)
1是该文件的硬连接数
xxxuser是该文件的属主
wnms是该文件的属主的组
181表示文件的大小,单位是字节
Jun 21 09:28文件最后修改的时间
sie_hw_btsdata.sh文件名
  改变权限位 语法
chmod [who] operator [permission] filename
who包括u,g,o,a,分别表示user,group,other,all
operator包括+,-,=
permission包括r,w,x,s(文件属主或组SETID),t(粘性位),l(给文件加锁)
一个目录上出现t,说明该目录下的文件只有属主才可以删除。
一个文件上出现t,说明该脚本或程序在执行时会被放到交换分区
如下面的例子:
hnxxxdb% ls -l
drwxrwxr-t   2 informix informix     512 Apr 14 12:06 INFORMIXTMP
另,可以通过绝对模式来chmod,如chmod 777 filename。 目录的权限会覆盖该目录中文件的权限,即目录权限的优先级比该目录下文件权限的优先级高。
例如:
hnxxxdb% ls -l
drwxr-xr-x   2 resuser  wnms         512 Sep 12 10:58 test
hnxxxdb% cd test
hnxxxdb% ls -l
-rwxrwxrwx   1 resuser  wnms         181 Jul 28 17:49 nokia_bts_data.sh
与wnms同组的用户将不能写nokia_bts_data,因为test目录不允许写
suid/guid
某个用户对自己的shell脚本设置了suid这样的权限,那么其他用户也对该shell脚本有相应的权限,guid也是这样。
例如:

hnxxxdb% pwd
/usr/bin
hnxxxdb% ls -l|grep '^...s..s'
-r-sr-sr-x   1 root     sys        23500 Jul 20  2005 passwd
hnresdb% ls -l|grep '^...s'
-r-s--x--x   1 root     sys       342712 Sep 21  2002 admintool
-rwsr-xr-x   1 root     sys        37784 Aug 31  2005 at
-rwsr-xr-x   1 root     sys        13728 Aug 31  2005 atq
-rwsr-xr-x   1 root     sys        12688 Aug 31  2005 atrm
-r-s--x--x   1 root     lp          9736 Jan  6  2000 cancel
-r-sr-xr-x   1 root     sys        41820 Jul 20  2005 chkey
-r-sr-xr-x   1 root     bin        17224 Aug 31  2005 crontab
---s--x--x   1 root     uucp       69784 Jan  6  2000 ct
---s--x--x   1 uucp     uucp       83808 Feb 27  2001 cu
-r-sr-xr-x   1 root     bin        13808 Jan  6  2000 eject
-r-sr-xr-x   1 root     bin        26372 Jan  6  2000 fdformat
-r-sr-xr-x   1 root     bin        29508 Jul 20  2005 login
-r-s--x--x   1 root     lp         23076 Jul 15  2005 lp
-r-s--x--x   1 root     lp          7116 Jan  6  2000 lpset
-r-s--x--x   1 root     lp         22456 Jul 15  2005 lpstat
-rwsr-xr-x   1 root     sys         7696 Dec 16  2004 newgrp
-rwsr-xr-x   1 root     sys         7764 Mar 16  2000 newtask
-r-sr-sr-x   1 root     sys        23500 Jul 20  2005 passwd
-r-sr-xr-x   1 root     bin         9520 Aug 31  2005 pfexec
-r-sr-xr-x   1 root     bin       231808 Jul 20  2005 pppd
-r-sr-xr-x   1 root     bin        21008 Jan  6  2000 rcp
-r-sr-xr-x   1 root     bin        55480 Jan  6  2000 rdist
-r-sr-xr-x   1 root     bin        16012 Jan  6  2000 rlogin
-r-sr-xr-x   1 root     bin        39044 Mar 12  2003 rmformat
-r-sr-xr-x   1 root     bin         8964 Jan  6  2000 rsh
-r-sr-xr-x   1 root     sys        21192 Jul 20  2005 su
-r-s--x--x   1 uucp     bin        55368 Jun 27  2001 tip
---s--x--x   1 uucp     uucp       67192 Jul 29  2003 uucp
---s--x--x   1 uucp     uucp       22588 Jul 29  2003 uuglist
---s--x--x   1 uucp     uucp       19568 Jan  6  2000 uuname
---s--x--x   1 uucp     uucp       62012 Jul 29  2003 uustat
---s--x--x   1 uucp     uucp       71032 Jul 29  2003 uux
-r-sr-xr-x   1 root     bin         5980 Jan  6  2000 volcheck
-r-sr-xr-x   1 root     bin        12580 Mar 12  2005 volrmmount
设置方法
设置suid,在权限位之前加4,设置guid,在权限位之前加2,两个都设置,在权限位之前加6。
chmod 4731 filename,chmod 6711 filename

chown/chgrp
只有文件的属主和系统管理员可以改变文件的所有权
chown -R -h owner file
R参数表示递归到下面的子目录进行同样的操作,h参数表示改变符号链接文件的属主时不影响指向链接的目标文件
chgrp命令用法同chown 也可以用chown命令同时改变组和用户。
chown group:owner file
找出自己属于哪些组,可以用下面的命令
group
id
找某个用户属于哪些组
group username

umask
系统管理员为你最初登陆到系统时确定的创建文件的缺省权限
一般来说umask命令是在/etc/profile文件里设置,这个是给所有用户使用的。如果喜欢永久性的设置自己的umask值,可以放在自己的家目录下的.cshrc(csh)
-----------------------------------------------------------------------------
hnxxxdb% more .cshrc
umask 022
stty erase ^H
set path= (/bin /usr/bin /opt/informix /opt/informix/bin /opt/informix/etc .)
setenv INFORMIXSERVER resserver
setenv INFORMIXDIR /opt/informix
setenv ONCONFIG onconfig
if ( $?prompt ) then
        set history=32
endif
setenv LANG C
setenv EDITOR vi
-----------------------------------------------------------------------------
创建一目录
hnxxxdb% mkdir test
hnxxxdb% ls -al
drwxr-xr-x   2 xxxuser  wnms         512 Jun 21 19:20 test
目录默认的权限为755
创建一文件
hnxxxdb% touch test.sql
hnxxxdb% ls -al
-rw-r--r--   1 resuser  wnms           0 Jun 21 19:22 test.sql
文件默认的权限为644
对于目录来说,每类用户(user,group,other)在umask中的值最大为7,对于文件来说,在umask中最大的值为6 改变umask的值,可通过命令umask nnn,其中nnn为000-777之间的值,直接键入umask查出umask的值,值对应的权限为
umask      文件    目录
0          6       7
1          6       6
2          4       5
3          4       4
4          2       3
5          2       2
6          0       1
7          0       0
 
符号链接
软链接、硬链接
软链接就是一个指向文件的指针。
作用:可以将多个链接指向同一个文件,即在多个用户的家目录下做个链接指向同一个文件,当要做修改时只要改原文件,其他链接文件看到的也就是修改后的。
ln -s 源文件(即实实在在的文件) 目标文件(即符号)
目标文件可以不用先创建,如果没有系统会自动创建
相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载