??xml version="1.0" encoding="utf-8" standalone="yes"?>av电影在线观看一区二区三区,亚洲国产一区二区三区高清,国产亚洲成av人片在线观看桃http://www.aygfsteel.com/agapple/category/35422.htmlzh-cnMon, 03 Nov 2008 21:54:34 GMTMon, 03 Nov 2008 21:54:34 GMT60vi 命o(h)记http://www.aygfsteel.com/agapple/archive/2008/11/03/238423.htmlagappleagappleMon, 03 Nov 2008 12:13:00 GMThttp://www.aygfsteel.com/agapple/archive/2008/11/03/238423.htmlhttp://www.aygfsteel.com/agapple/comments/238423.htmlhttp://www.aygfsteel.com/agapple/archive/2008/11/03/238423.html#Feedback0http://www.aygfsteel.com/agapple/comments/commentRss/238423.htmlhttp://www.aygfsteel.com/agapple/services/trackbacks/238423.html阅读全文

agapple 2008-11-03 20:13 发表评论
]]>
(?suid和sgid介绍http://www.aygfsteel.com/agapple/archive/2008/10/31/237835.htmlagappleagappleFri, 31 Oct 2008 08:22:00 GMThttp://www.aygfsteel.com/agapple/archive/2008/10/31/237835.htmlhttp://www.aygfsteel.com/agapple/comments/237835.htmlhttp://www.aygfsteel.com/agapple/archive/2008/10/31/237835.html#Feedback0http://www.aygfsteel.com/agapple/comments/commentRss/237835.htmlhttp://www.aygfsteel.com/agapple/services/trackbacks/237835.html  一、UNIX下关于文件权限的表示Ҏ(gu)和解?/p>

  SUID ?Set User ID, SGID ?Set Group ID的意思?/p>

  UNIX下可以用ls -l 命o(h)来看到文件的权限。用ls命o(h)所得到的表C法的格式是cMq样的:(x)-rwxr-xr-x 。下面解析一下格式所表示的意思。这U表C方法一共有十位Q?/p>

  9 8 7 6 5 4 3 2 1 0

  - r w x r - x r - x

  W?位表C文件类?可以为p、d、l、s、c、b?Q?/p>

  p表示命名道文g

  d表示目录文g

  l表示W号q接文g

  -表示普通文?/p>

  s表示socket文g

  c表示字符讑֤文g

  b表示块设备文?/p>

  W?-6位?-3位?-0位分别表C文件所有者的权限Q同l用L(fng)权限Q其他用L(fng)权限Q其形式为rwxQ?/p>

  r表示可读Q可以读出文件的内容

  w表示可写Q可以修Ҏ(gu)件的内容

  x表示可执行,可运行这个程?/p>

  没有权限的位|用-表示

  例子Q?/p>

  ls -l myfile昄为:(x)

  rwxr-x-- 1 foo staff 7734 Apr 05 17:07 myfile

  表示文gmyfile是普通文Ӟ文g的所有者是foo用户Q而foo用户属于staffl,文g只有1个硬q接Q长度是7734个字节,最后修Ҏ(gu)???7:07?/p>

  所有者f(xi)ooҎ(gu)件有d执行权限Qstaffl的成员Ҏ(gu)件有d执行权限Q其他的用户对这个文件没有权限?/p>

  如果一个文件被讄了SUID或SGID位,?x)分别表现在所有者或同组用户的权限的可执行位上。例如:(x)

  1?rwsr-xr-x 表示SUID和所有者权限中可执行位被设|?/p>

  2?del>rwSrr- 表示SUID被设|,但所有者权限中可执行位没有被设|?/p>

  3?rwxr-sr-x 表示SGID和同l用h限中可执行位被设|?/p>

  4?del>rw-r-Sr- 表示SGID被设|,但同l用h限中可执行位没有被社

  其实在UNIX的实CQ文件权限用12个二q制位表C,如果该位|上的值是

  1Q表C有相应的权限:(x)

  11 10 9 8 7 6 5 4 3 2 1 0

  S G T r w x r w x r w x

  W?1位ؓ(f)SUID位,W?0位ؓ(f)SGID位,W?位ؓ(f)sticky位,W?-0位对应于上面的三lrwx位?/p>

  11 10 9 8 7 6 5 4 3 2 1 0

  上面?rwsr-xr-x的gؓ(f)Q?1 0 0 1 1 1 1 0 1 1 0 1

  rw-r-Sr-的gؓ(f)Q?0 1 0 1 1 0 1 0 0 1 0 0

  l文件加SUID和SUID的命令如下:(x)

  chmod u+s filename 讄SUID?/p>

  chmod u-s filename LSUID讄

  chmod g+s filename 讄SGID?/p>

  chmod g-s filename LSGID讄

  另外一U方法是chmod命o(h)用八q制表示Ҏ(gu)的设|。如果明白了前面?2位权限表C法也很单?/p>

  二、SUID和SGID的详l解?/p>

  ׃SUID和SGID是在执行E序Q程序的可执行位被设|)时v作用Q而可执行位只Ҏ(gu)通文件和目录文g有意义,所以设|其他种cL件的SUID和SGID位是没有多大意义的?/p>

  首先讲普通文件的SUID和SGID的作用。例子:(x)

  如果普通文件myfile是属于foo用户的,是可执行的,现在没设SUID位,ls命o(h)昄如下Q?/p>

  -rwxr-xr-x 1 foo staff 7734 Apr 05 17:07 myfileM用户都可以执行这个程序。UNIX的内核是Ҏ(gu)什么来定一个进E对资源的访问权限的呢?是这个进E的q行用户的(有效QIDQ包?user id和group id。用户可以用id命o(h)来查到自q或其他用L(fng)user id和group id?/p>

  除了一般的user id 和group id外,q有两个UC为effective 的idQ就是有效idQ上面的四个id表示为:(x)uidQgidQeuidQegid。内怸要是Ҏ(gu)euid和egid来确定进E对资源的访问权限?/p>

  一个进E如果没有SUID或SGID位,则euid=uid egid=gidQ分别是q行q个E序的用L(fng)uid和gid。例如kevin用户的uid和gid分别?04?02Qfoo用户的uid和gid?200Q?01Qkevinq行myfileE序形成的进E的euid=uid=204Qegid=gid=202Q内核根据这些值来判断q程对资源访?的限Ӟ其实是kevin用户对资源访问的权限Q和foo没关pR?/p>

  如果一个程序设|了SUIDQ则euid和egid变成被运行的E序的所有者的uid和gidQ例如kevin用户q行myfileQeuid=200Qegid=201Quid=204Qgid=202Q则q个q程h它的属主foo的资源访问权限?/p>

  SUID的作用就是这P(x)让本来没有相应权限的用户q行q个E序Ӟ可以讉K他没有权限访问的资源。passwd是一个很鲜明的例子?/p>

  SUID的优先比SGID高,当一个可执行E序讄了SUIDQ则SGID?x)自动变成相应的egid?/p>

  下面讨论一个例子:(x)

  UNIXpȝ有一?dev/kmem的设备文Ӟ是一个字W设备文Ӟ里面存储了核心程序要讉K的数据,包括用户的口令。所以这个文件不能给一般的用户dQ权限设为:(x)cr-r---- 1 root system 2, 1 May 25 1998 kmem

  但ps{程序要读这个文Ӟ而ps的权限设|如下:(x)

  -r-xr-sr-x 1 bin system 59346 Apr 05 1998 ps

  q是一个设|了SGID的程序,而ps的用hbinQ不是rootQ所以不能设|SUID来访问kmemQ但大家注意了,bin和root 都属于systeml,而且ps讄了SGIDQ一般用h行psQ就?x)获得systeml用L(fng)权限Q而文件kmem的同l用L(fng)权限是可读,所以一?用户执行ps没问题了。但有些Qؓ(f)什么不把psE序讄为root用户的程序,然后讄SUID位,不也行吗Q这的确可以解决问题Q但实际中ؓ(f)什?不这样做呢?因ؓ(f)SGID的风险比SUID得多,所以出于系l安全的考虑Q应该尽量用SGID代替SUID的程序,如果可能的话。下面来说明一?SGID对目录的影响。SUID对目录没有媄响。如果一个目录设|了SGID位,那么如果M一个用户对q个目录有写权限的话Q他在这个目录所建立的文?的组都会(x)自动转ؓ(f)q个目录的属L在的l,而文件所有者不变,q是属于建立q个文g的用戗?/p>

  三、关于SUID和SGID的编E?/p>

  和SUID和SGID~程比较密切相关的有以下的头文g和函敎ͼ(x)

  #include

  #include

  uid_t getuid(void);

  uid_t geteuid(void);

  gid_t getgid (void);

  gid_t getegid (void);

  int setuid (uid_t UID);

  int setruid (uid_t RUID);

  int seteuid (uid_t EUID);

  int setreuid (uid_t RUID,uid_t EUID);

  int setgid (gid_t GID);

  int setrgid (gid_t RGID);

  int setegid (git_t EGID);

  int setregid (gid_t RGID, gid_t EGID);

  具体q些函数的说明在q里׃详细列出来了,要用到的可以用man查?/p>

  SUID/SGID :

  假如你有文ga.txt

  #ls -l a.txt

  -rwxrwxrwx

  #chmod 4777 a.txt

  -rwsrwxrwx ======>注意s位置

  #chmod 2777 a.txt

  -rwxrwsrwx ======>注意s位置

  #chmod 7777 a.txt

  -rwsrwxswt ======>出现了t,t的作用在内存中尽量保存a.txt,节省pȝ再加载的旉.

  现在再看前面讄 SUID/SGID作用:

  #cd /sbin

  #./lsusb

  ...

  #su aaa(普通用?

  $./lsusb

  ...

  是不是现在显C出错?

  $su

  #chmod 4755 lsusb

  #su aaa

  $./lsusb

  ... 现在明白了吗Q本来是只有root用户才能执行的命令,加了SUID?普通用户就可以像root一L(fng)用,权限提升了。上面是对于文g来说的,对于目录也差不多Q?/p>

  目录的S属性得在该目录下创徏的Q何文件及(qing)子目录属于该目录所拥有的组Q目录的T属性得该目录的所有者及(qing)root才能删除该目录。还有对 于s与SQ设|SUID/SGID需要有q行权限Q否则用ls -l后就?x)看到S,证明你所讄的SUID/SGID没有起作用?/p>

  Why we need suid,how do we use suid?

  r -- 读访?/p>

  w -- 写访?/p>

  x -- 执行许可

  s -- SUID/SGID

  t -- sticky?/p>

  那么 suid/sgid是做什么的Q?Z么会(x)有suid位呢Q?/p>

  要想明白q个Q先让我们看个问题:(x)如果让每个用h改自q密码Q?/p>

  用户修改密码Q是通过q行命o(h)passwd来实现的。最l必要修改/etc/passwd文gQ而passwd的文件的属性是Q?/p>

  #ls -l /etc/passwd

  rw-rr- 1 root root 2520 Jul 12 18:25 passwd

  我们可以看到passwd文g只有对于root用户是可写的Q而对于所有的他用h说都是没有写权限的?那么一个普通的用户如何能够通过q行passwd命o(h)修改q个passwd文g呢?

  Z解决q个问题QSUID/SGID便应q而生。而且AT&T对它甌了专利?呵呵?/p>

  SUID和SGID是如何解册个问题呢Q?/p>

  首先Q我们要知道一点:(x)q程在运行的时候,有一些属性,其中包括 实际用户ID,实际lID,有效用户ID,有效lID{?实际用户ID和实际组ID标识我们是谁Q谁在运行这个程?一般这2个字D在登陆时决定,在一个登陆会(x)话期_(d) q些值基本上不改变?/p>

  而有效用户ID和有效组ID则决定了q程在运行时的权限。内核在军_q程是否有文件存取权限时Q是采用了进E的有效用户ID来进行判断的?/p>

  知道了这点,我们来看看SUID的解决途径Q?/p>

  当一个程序设|了为SUID位时Q内核就知道了运行这个程序的时候,应该认ؓ(f)是文件的所有者在q行q个E序。即该程序运行的时候,有效用户ID是该E序的所有者。D个例子:(x)

  [root@sgrid5 bin]# ls -l passwd

  -r-s-s-x 1 root root 16336 Feb 14 2003 passwd

  虽然你以test登陆pȝQ但是当你输入passwd命o(h)来更改密码的时候,׃passwd讄了SUID位,因此虽然q程的实际用户ID 是test对应的IDQ但是进E的有效用户ID则是passwd文g的所有者root的ID,因此可以修改/etc/passwd文g?/p>

  让我们看另外一个例子?/p>

  ping命o(h)应用q泛Q可以测试网l是否连接正常。ping在运行中是采用了ICMP协议Q需要发送ICMP报文。但是只有root用户才能建立ICMP报文Q如何解册个问题呢Q同P也是通过SUID位来解决?/p>

  [root@sgrid5 bin]# ls -l /bin/ping

  -rwsr-sr-x 1 root root 28628 Jan 25 2003 /bin/ping

  我们可以试一下,如果Lping的SUID位,再用普通用户去q行命o(h)Q看?x)怎么栗?/p>

  [root@sgrid5 bin]#chmod u-s /bin/ping

  [root@sgrid5 bin]# ls -l ping

  -rwxr-xr-x 1 root root 28628 Jan 25 2003 ping

  [root@sgrid5 bin]#su test

  [test@sgrid5 bin]$ ping byhh.net

  ping: icmp open socket: Operation not permitted

  SUID虽然很好了解决了一些问题,但是同时也会(x)带来一些安全隐(zhn)?/p>

  因ؓ(f)讄?SUID 位的E序如果被攻?通过~冲区溢出等斚w),那么hacker可以拿到root权限?/p>

  因此在安全方面特别要注意那些讄了SUID的程序?/p>

  通过以下的命令可以找到系l上所有的讄了suid的文Ӟ(x)

  [root@sgrid5 /]# find / -perm -04000 -type f -ls

  对于q里Z么是4000Q大家可以看一下前面的st_mode的各bit的意义就明白了?/p>

  在这些设|了suid的程序里Q如果用不上的,最好取消该E序的suid位?/p>
ȝQ?/span>
1QSet UIDQ当文gpȝ?所有者权限组?的可执行位被s(即rws------)取代Ӟ构成Ҏ(gu)权限规定Set UIDQ简USUID。仅对系l中的二q制可执行文件设|有效,而且不可对Shell Script施加讄?br /> 2QSet GIDQ当所有者所在的用户l?group)的权限组合中可执行位被s所取代?例如--rws--)Q便构成Set GID的权限设|。SGID可以针对二进制文件或目录q行讄?br /> 3QSticky BitQ当文gpȝ"其他(others)"的权限组合中可执行位被t所取代?例如------rwt)Q便构成Sticky Bit的权限设|。它只对目录有效?

SUID和SGIDQ主要作用是用于当非某个文g的所有?或组)执行(或操作目?文gӞ可以暂时获得该文件所有者的权限?br /> SBIT的作用在于访问控Ӟ当它Ҏ(gu)个目录设|此属性后Q该目录下的所有文Ӟ即其它人有w属性,都不得对其更名、移动、删除?/p>

讄Ҏ(gu)Q?br /> 如果你已l掌握了?八进?数字来表C权限的规则Q再l合chmod命o(h)q行讄很单了。以下是SUID/SGID/Sticky BitU定对应的八q制数|(x)
SUID Q?4
SGID Q?2
SBIT Q?1
讄时我们把表示Ҏ(gu)权限的数字放在其他三位数字权限的前面?/p>

agapple 2008-10-31 16:22 发表评论
]]>
fstab文g解释 记http://www.aygfsteel.com/agapple/archive/2008/10/30/237552.htmlagappleagappleThu, 30 Oct 2008 03:23:00 GMThttp://www.aygfsteel.com/agapple/archive/2008/10/30/237552.htmlhttp://www.aygfsteel.com/agapple/comments/237552.htmlhttp://www.aygfsteel.com/agapple/archive/2008/10/30/237552.html#Feedback0http://www.aygfsteel.com/agapple/comments/commentRss/237552.htmlhttp://www.aygfsteel.com/agapple/services/trackbacks/237552.htmlTitleLABEL=/                 /                       ext3    defaults        1 1
LABEL=/boot             /boot                   ext3    defaults        1 2
none                    /dev/pts                devpts  gid=5,mode=620  0 0
LABEL=/home             /home                   ext3    defaults        1 2
none                    /proc                   proc    defaults        0 0
none                    /dev/shm                tmpfs   defaults        0 0
LABEL=/tmp              /tmp                    ext3    defaults        1 2
LABEL=/usr              /usr                    ext3    defaults        1 2
LABEL=/var              /var                    ext3    defaults        1 2
/dev/sda6               swap                    swap    defaults        0 0
/dev/cdrom              /mnt/cdrom              udf,iso9660 noauto,owner,kudzu,ro 0 0
/dev/fd0                /mnt/floppy             auto    noauto,owner,kudzu 0 0
fstab中存放了与分区有关的重要信息Q其中每一行ؓ(f)一个分录,每一行又可分为六个部份:(x)
1. W一Ҏ(gu)(zhn)想要mount的储存装|的实体位置Q如/dev/sda6分区 (分区或卷标名)
2. W二就是?zhn)惌其加入臛_个目录位|,?home?, (挂蝲?nbsp;)
3. W三就是所谓的local filesystemQ其包含了以下格式:(x)如ext、ext2、msdos、iso9660、nfs、swap{,或如ext2  (文gpȝ)
4. W四就是?zhn)mountӞ所要设定的状态,如roQ只读)或defaultsQ包括了其它参数如rw、suid、exec、auto、nouser、asyncQ,可以参见「mount nfs」?Q读写状态)
5. W五Ҏ(gu)提供DUMP功能Q在pȝDUMP时是否需要BACKUP的标志位Q其内定值是0?span style="color: red">  Q?font face="Times New Roman">0Z备䆾Q?font face="Times New Roman">1备䆾Q一般根分区要备份)               
6. W六Ҏ(gu)讑֮是否要在开机时做check的动作,除了其必要的check?之外Q其它皆可视需要设定,内定值是0?(0Z自检Q?font face="Times New Roman">1或?font face="Times New Roman">2自检Q如果是根分设ؓ(f)1Q其他分区只能是2)


agapple 2008-10-30 11:23 发表评论
]]>
讄kernel参数Qroot分区http://www.aygfsteel.com/agapple/archive/2008/10/30/237540.htmlagappleagappleThu, 30 Oct 2008 02:59:00 GMThttp://www.aygfsteel.com/agapple/archive/2008/10/30/237540.htmlhttp://www.aygfsteel.com/agapple/comments/237540.htmlhttp://www.aygfsteel.com/agapple/archive/2008/10/30/237540.html#Feedback0http://www.aygfsteel.com/agapple/comments/commentRss/237540.htmlhttp://www.aygfsteel.com/agapple/services/trackbacks/237540.html

grub引导中,在kernal 中设|root分区现在?中方?nbsp;

 

1.  使用h

查看/etc/fstabQ可以看到类?/p>

label=/      /     ext3 defaults 1 1
/dev/hda7 /usr ext3 defaults 1 1

W二行的意思很Ҏ(gu)懂,是?dev/hda7 mount?usr 上。第一行没有指明分区,意思是把label(h)? 的分区mount?上。这样写的好处在于即使如果把盘从主板上的ide0(hda) 换到ide2(hdc)上,pȝ仍然可以自动挂蝲正确的分区。通常Linux安装的时候已l自动指定了h?/p>

所以我们可以这栯|root分区 ,  kernel **** root=LABEL=/

 

2. 使用UUID

UUID 全称?Universally Unique IdentifierQ也是_(d)每个分区有一个唯一?UUID |q样׃?x)发生分别؜q问题了?nbsp; 

 

?3 U方法:(x)

1. 通过览 /dev/disk/by-uuid/ 下的讑֤文g信息?

# ls -l /dev/disk/by-uuid/

------

lrwxrwxrwx 1 root root 10 10-13 09:14 0909-090B -> ../../sdb5

lrwxrwxrwx 1 root root 10 10-13 09:13 7c627a81-7a6b-4806-987b-b5a8a0a93645 -> ../../sda4

.....

2. 通过 vol_id 命o(h)?

# vol_id /dev/sdb5

3. 通过 blkid 命o(h)

 # sudo blkid

/dev/sdb5: LABEL="SWAP" UUID="0909-090B" TYPE="vfat"

 

通过q三U方法都可以获得分区?UUIDQUUID 依据分区不同Q长度和格式都不相同?

root=UUID=*****

 

3. 使用win模式下的/dev/*

通过explore2fs查看root , home对应的分区,昄格式如:(x)/dev/sda2

root=/dev/sda2



agapple 2008-10-30 10:59 发表评论
]]>
վ֩ģ壺 Ϲ| | | | ͬ| н| ˫| | Ӧ| | | ֶ| | Ϻ| | | Ԫ| | | з| Ʊ| | | | ֣| ʯȪ| | | | | ʯ¥| | ̨| ʤ| | | Ž| ʡ| ̨| | ̺|