Linux文件结构

在Linux系统中,目录与文件没区别,目录仅仅是包含了其他文件的名字的文件,Linux系统中无论什么都可以看做是个文件。
1.文件结构
(1)根目录(/):根目录在文件系统层次的顶部,我们知道windows总是喜欢用反斜杠(\),而Linux用的是正斜杠(/)表示。它包含一些标准文件和目录,从某种意义上来说,它就是个包括多有文件夹和文件的柜子。
(2)BIN(二进制):也称二进制目录,/bin目录包含大多数关键LINUX/UNIX命令的二进制(可执行)映象,这些命令供系统管理员和用户使用。这个目录中有一些通用命令,包括bash、cat、 chmod、cp、date、echo、ki11、In、lS、mail、 mkdir、more、mV、pS、pwd、rm、 rmdir、sh、stty、su、tcsh、 uname和vi。一些系统恢复命令,包括tar、gzip、 gunzip, cat。/bin目录还包含一些必要得网络命令domainname(或 nisdomainname)、hostname、 netstat以及p1ng。/usr/bin目录包含大多数用户命令。
(3)BOOT(启动):该目录包含了启动 LINUX时需要的绝大部分文件,它包括 LIINUX内核的二进制映象fー些系统将配置文件和内核映射放在其他目录中)。内核文件的名称为 vmlinux( vmlinu2),后接版本和发布信息。比如在Red Hat LINUX 6.1上,内核是文件/boot/ vmlinux-2.2.5
(4)DEV(设备):/dev目录也称为设备目录,它一般最少包含5个文件,这些文件对应于连接到计算机的设备(终端、磁盘驱动器、CD-ROM驱动器、磁带驱动器、调制解调器和打印机等)。这些文件被称为块特殊文件,分为两组:字符特殊文件和块特殊文件。这个目录中的一些文件有: cdrom针对CD-ROM驱动器)、 console(针对控制台)fd(针对软盘驱动器)、hd(针对硬盘或一个硬盘分区)isdn(针对ISDN连接)、1(针对行打印机)、midi(针对midi接口)、pty(针对伪终端)、ram(针对ram磁盘)以及ty(针对终端)。一个系统可能会有好几个类型的设备。/dev/nul1称为 Linux黑洞,在流重定向的时候常有应用
(5)ETC(etc.):/etc目录包含许多专用于主机的文件和目录,这些文件和目录包含了系统配置文件c但不包含任何之进制文件、该目录中的文件主要由系统管理员使用但是有权限的一用户也可以使用其中大多数文件。该目录中有一些普通文件和目录,包括:X11、 bashrc、csh.
gincrontab、 group、 inittab、lilo.conf.linuxconf、 localtime、motd、 passwd、pine.conf、csh. 10profile、securetty、 shells、skel、 syslog.conf、 ttytype和 zshrc。目录X11包含 x Window系统的配置文件。/etc目录下有一些与网络相关的文件和目录: exports、ftpusers、gateways、host.conf、hosts、httpd等。
(6)HOME:/home包含用户的主目录。但是该文件的设置因主机而异。在小型系统上。该目录包含用户的主目录,比如/home/bobk。在大型系统上,主机通过使用NFS协议共享主目录,通常将用户主目录再次划分为许多用户组,比如/home/ admin、/home/ faculty、home/ staff和/home/ students。这个方案有许多变化。在笔者所用的系统中,/home下有43子目录,/home木录包含了用户的主目录,每一个子目录都含有用于 administration、 staff, students、 faculty的主目录,它们属于不同部门
(7)LIB(库):lib目录包含给定语言的相关目标映象文件的集合,这些集合在一个单独的文件中,称为一个归档文件。一个典型的 LINUX/UNIX系统包含了C、C++和 FORTRAN库。某种语言的归档文件可用于在该语言中开发的应用程序。这就允许软件开发者在他们的软件中使用预先写好和测试好的函数。lib目录中的库映象对于启动系统和运行某些命令是必需的。特别是它包含了标准c库/lib/libc.so.数学库libm.so.,共享动态链接序/lib/ld/so,和其他/bin和/sbin中命令所使用的共享库。/lib/ modules目录包含了可加载的内核模块。其余大多数库放在目录/usr/lib下,而目录/lib包含了所有重要的库
(8)VAR(变量):该数据在若干个子目录中维护,其中大多数子目录的讨论不在本书范围之内。其中个目录是/Var/sp001/mail,它存放着传入邮件。您阅读的新邮件就是该目录下的一个文件。旦您阅读完了该邮件,它就会以一个文件的方式被放进您的主目录,该目录称为mbox
(9)L0ST+OUN:包含了系统上与其他任何目录都不相连的所有系统文件。 LINUX和UNIX有一个工具fsck( file system check,文件系统检査)可以找到这些文件,系统管理员可用它检査一个文件系统,这些文件由系统管理员管理
(10)MNT(挂接):主要用来由系统管理员用命令 mount临时加载文件系统。系统上的该目录包含了cdrom、磁盘和软盘加载点。加载设备时,比如CD-RM驱动器,访问CD-ROM中的文件就像在目录/mt/ cdrom下访问文件一样
(11)USR(用户):目录/usr是 LINUX/UNIX文件系统中最大的一个部分。它包含了主机之间可以共享的只读数据。在多数LINⅨ系统中,/usr至少包含了下面的子目录:X11R6、b.n、dOC、 games、include、ib、 local、man、sbin、 share、src和tmp。表中给出了这些目录所含内容的简短说明
(12)TMP(临时):一些命令和应用程序要用到该目录。/tmp目录包含临时文件。您也可以用该目录存放自己的临时文件。该目录中的所有文件会被定期删除,以保证磁盘(或磁盘分区)不会被临时文件所塞满。/tmp目录下某个文件的生命期是由系统管理员所设定的,而且因系统而异,但通常只有若干分钟。多数系统都为/tmp目录设置了粘滞位,这样只有文f-$的所有者才能从该目录中删除文件
(13)SBIN(系统二进制文件):目录/sbin、/usr/sbin、/usr/ local/sbin包含系统管理工具、实用程序和一般的根用户专用命令。/sbin目录中的般根用户专用命令包括 getty. Init、 updme、mkswap、 swapo和 swapoff。用于停系统的命令是:halt、 reboot和 shutdown。文件系统管理实用程序包括 fdisk、fsck、fsck, minix、mkfs、kmfs.ext2、mkfs. minix、mkfs.msdos和mkfs. vfat/sbin目录的网络命令最少,它们是 ifconfig和 route
(14)PROC(进程):包含了进程信息和系统信息
(15)OPT(选项):用于安装附加软件包。用户安装程序包时所调用的程序应该在目录/opt/package_nane/bin中,这里, package_name就是已安装的程序包名称。包的手册页在目录/opt/package_name/man 下
2.文件权限
Linux系统安全模型是在UNIX系统上使用的安全模型,其已经被证明是相当健壮的了。在 Linux系统中,每个文件都有一个属主和一个属组。另外有一类用户(第三类用户,非属主也不在属组内的)。对于每个文件,我们都可以为属主、属组和第三类用户设置读取、写入、执行权限。
在这里插入图片描述
每个文件前面的 drwxr-xr-x或rwーrwーrー就是表示当前文件的权限
1)第一位表示文件类型,d是目录文件、l是链接文件、一是普通文件、p是管道
2)第2-4位表示这个文件的属主拥有的权限、。ェ是读、是写、x是执行
3)第5-7位表示和这个文件属主所在同一个组的用户所具有的权限
4)第8-10位表示其他用户所具有的权限
3.文件特权SUID和SGID
(1)SUID
是一种对二进制程序进行设置的特殊权限,可以让二进制程序的执行者临时拥有所有者的权限
1)SUID权限仅对二进制程序有效
2)本权限仅在执行该程序的过程中有效
3)执行者将具有该程序所有者的权限
(2)SGID

用户组特殊权限,当s标志出现在文件所有者的x权限时称为SUID,那么s出现在用户组的x权限时称为SGID。(U表示user,G表示 group)。SGID有如下功能:
1)SGID对二进制程序有用
2)程序执行者对该程序需具备x权限
3)执行者在执行过程中会获得该程序用户组的支持
(3)SBIT
特殊权限位可确保用户只能删除自己的文件,而不能删除其他用户的文件,只对目录有效
1)当用户对此目录具有W和x权限时,即具有写入权限时;
2)当用户在该目录下创建新文件或目录时,仅有自己和root才有权力删除。
例如:共享目录里,只能删除自己创建或上传的文件,除了root其他人不能删除
(4)SBIT、SUD、SGD权限设置
关于SUID,SGID,SBIT权限设置和rwx的421类似,suid,sgid,sbit也是421,SUID-=4、SGID=2、SBIT=1假设要将一个文件权限修改为“-rwsr-xr-x”,由于s在用户权限中,所以是SUID,因此,原先的755前面还要加上4,也就是4755,所以,用命令 chmod 4755 filename设置就可以了。如果文件同时具备SUID和SGID,则权限变成4+2=6,即chmod 6755 filename.
利用SUID/SGID可执行文件提权己经成为攻击者获取超级用户root权限的得要途径之一,因此,不要随便给可执行文件设置SUID/SGID

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值