易截截图软件、单文件、免安装、纯绿色、仅160KB

Linux 文件特殊权限 Sticky Bit

http://content.hccfl.edu/pollock/AUnix1/FilePermissions.htm 
http://en.wikipedia.org/wiki/Sticky_bit
http://www.anqn.com/os/linux/2009-03-01/a09108173.shtml
7.4.3  文件特殊权限:SUID/SGID/Sticky Bit
前面一直提到文件的重要权限,就是rwx这3个读、写、执行的权限。但是,怎么 /tmp权限有些奇怪?还有, /usr/bin/passwd也有些奇怪,怎么回事呢?
[root@linux ~]# ls -ld /tmp ; ls -l /usr/bin/passwd
drwxrwxrwt  5 root root 4096 Jul 20 10:00 /tmp
-r-s--x--x  1 root root 18840 Mar  7 18:06 /usr/bin/passwd
不是只有rwx吗?为什么还有其他的特殊权限呢?不要担心,我们这里先不谈这两个权限,只是先介绍一下而已。因为必须要有账号的ID概念,以及程序的进程(process)概念后,才能够进一步了解这些特殊权限所表示的意义。
• Set UID
会创建s与t权限,是为了让一般用户在执行某些程序的时候,能够暂时具有该程序拥有者的权限。举例来说,我们知道,账号与密码的存放文件其实是 /etc/passwd与 /etc/shadow。而 /etc/shadow文件的权限是“-r--------”。它的拥有者是root。在这个权限中,仅有root可以“强制”存储,其他人是连看都不行的。
但是,偏偏笔者使用dmtsai这个一般身份用户去更新自己的密码时,使用的就是 /usr/bin/passwd程序,却可以更新自己的密码。也就是说,dmtsai这个一般身份用户可以存取 /etc/shadow密码文件。这怎么可能?明明 /etc/shadow就是没有dmtsai可存取的权限。这就是因为有s权限的帮助。当s权限在user的x时,也就是类似 -r-s--x--x,称为Set UID,简称为SUID,这个UID表示User的ID,而User表示这个程序(/usr/bin/passwd)的拥有者(root)。那么,我们就可以知道,当dmtsai用户执行 /usr/bin/passwd时,它就会“暂时”得到文件拥有者root的权限。
SUID仅可用在“二进制文件(binary file)”,SUID因为是程序在执行过程中拥有文件拥有者的权限,因此,它仅可用于二进制文件,不能用在批处理文件(shell脚本)上。这是因为 shell脚本只是将很多二进制执行文件调进来执行而已。所以SUID的权限部分,还是要看shell脚本调用进来的程序设置,而不是shell脚本本身。当然,SUID对目录是无效的。这点要特别注意。
• Set GID
进一步而言,如果s的权限是在用户组,那么就是Set GID,简称为SGID。SGID可


相关文档:

在menuconfig中配置Linux内核裁剪的具体步骤(4)

      14)Mice 鼠标
  根据自己的鼠标类型选择。
  15)Video for Linux Linux视频
  根据系统中的音/视频捕捉设备选择。
  16)Joystick support 操纵杆
  根据系统中的游戏杆设备选择
  17)Ftape,the floopy tape device driver Ftape设备驱动
  Ftape (QIC-80/Travan ......

Linux学习笔记

1、在X11界面上修改IP地址等网络信息后必须重启系统才会生效。
2、编译mips指令程序时,用mipsel-linux-gcc命令提示mipsel-linux-gcc:command not found,可以修改~/.bash_profile文件的PATH环境变量后添加:/opt/i686-mipsel-linux-gcc-sdk-3.4.4/cross/bin。
  PATH的值是一系列目录,当您运行一个程序时,Linux在这些 ......

linux下挂载硬盘光驱和U盘

mount   -t   iso9660   /dev/cdrom   /mnt/cdrom       挂光驱   
mount   -t   vfat   /dev/fd0   /mnt/floppy           挂软驱     (文件内型可以自己选)
mount -t vfat -o rw,utf8,umask=000 /dev/sda1 ......

Linux下的UDP编程

一、引言
       UDP是TCP/IP协议中的传输层协议的一种,本文介绍了在Linux下编写基于UDP协议的Client/Server模型的程序的方法,并给出了一个echo Client/Server例子程序。
       二、UDP协议简介
      
UDP是一种简单 ......

linux vi 命令大全


进入vi的命令
vi filename :打开或新建文件,并将光标置于第一行首
vi +n filename :打开文件,并将光标置于第n行首
vi + filename :打开文件,并将光标置于最后一行首
vi +/pattern filename:打开文件,并将光标置于第一个与pattern匹配的串处
vi -r filename :在上次正用vi编辑时发生系统崩溃,恢复filen ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号