Linux文件系统目录结构和Linux文件权限详解

首先看一张 Linux 根目录下文件结构图。

Linux.png

  1. /bin
   包含基本命令,如ls、cp、mkdir、cat等,这个目录中的文件都是可执行的。——binary

   2. /sbin
   包含系统命令,如modprobe、hwclock、ifconfig等,大多是涉及系统管理的命令,这个目录中的文件都是可执行的。——system binary

   3. /dev
   设备文件存储目录,应用程序通过对这些文件的读、写或是控制即可以对实际的设备进行访问或控制其动作。——devices

   4. /etc
   系统配置文件目录,一些服务器的配置文件也在这里。如用户的账号和密码、系统环境变量等,busybox的启动脚本也存放在这里。——etcetera

   5. /lib
   系统库文件目录,如我使用的EXYNOS4412烧写的文件系统中lib包含了librt-2.11.so、libgcc_s.so、libpthread-2.11.so等。——library

   6. /mnt
   该目录一般是用于存放挂载存储设备的挂载目录,如有chrom等目录,可参考/etc/fstab的定义。有需要时,也可以让系统启动时自动挂载文件系统的挂载点放在该目录的操作都是允许的。——mount

   7. /opt
   opt是“可选”的意思,有些软件包会被安装在这里,例如我所移植的嵌入式Qt就存放在该目录。——option

   8. /proc
   操作系统运行时,进程及内核信息(如CPU、硬盘分区、内存信息等)存放在这里。/proc目录为伪文件系统proc的挂载目录,proc并不是真正的文件系统,它存在于内存中。——process

   9. /tmp
   在用户运行程序时,可能会产生临时文件,/tmp就用来存放这些临时文件。——temporary

   10. /usr
   该目录是系统用于存放程序的目录,例如用户命令、用户库文件等。如我使用的riscv架构上的Linux文件系统中usr包含了bin、lib、sbin、share四个子目录。其中/usr/bin目录下包含了ipcs、env等命令,/usr/lib目录下包含了libncurses.so.5.9、libpci.so.3.5.1等,/usr/sbin目录下包含了dropbear、flashcp、i2cdetect等,/usr/share包含了一些其它文件。——user

   11. /var
   var表示的是变化的意思,该目录中的内容经常会变动,如/var/log下存放是的系统日志。——variety

   12. /sys
   Linux2.6内核所支持的sysfs文件系统被映射在此目录。sysfs虚拟文件系统提供了一种比proc更为理想的访问内核数据的途径,其主要作用在于为管理linux设备提供一种统一模型的接口。Linux设备驱动模型中的总线、驱动和设备都可以在sysfs文件系统中找到对应的节点。当内核检测到在系统中出现了新设备后,内核会在sysfs文件系统中为该新设备生成一项新的记录。

Linux 文件系统权限详解

常用的linux文件权限:
444 r--r--r--
600 rw-------
644 rw-r--r--
666 rw-rw-rw-
700 rwx------
744 rwxr--r--
755 rwxr-xr-x
777 rwxrwxrwx

1-3位数字代表文件所有者的权限。
4-6位数字代表同组用户的权限。
7-9数字代表其他用户的权限。
而具体的权限是由数字来表示的,读取的权限等于4,用r表示;写入的权限等于2,用w表示;执行的权限等于1,用x表示;
通过4、2、1的组合,得到以下几种权限:0(没有权限);4(读取权限);5(4+1 | 读取+执行);6(4+2 | 读取+写入);7(4+2+1 | 读取+写入+执行)

以755为例:
1-3位7等于4+2+1,rwx,所有者具有读取、写入、执行权限;
4-6位5等于4+1+0,r-x,同组用户具有读取、执行权限但没有写入权限;
7-9位5,同上,也是r-x,其他用户具有读取、执行权限但没有写入权限。

rwx权限数字解释
chmod也可以用数字来表示权限如 chmod 777 file
语法为:chmod abc file
其中a,b,c各为一个数字,分别表示User、Group、及Other的权限。
r=4,w=2,x=1
若要rwx属性则4+2+1=7;
若要rw-属性则4+2=6;
若要r-x属性则4+1=7。

例如:
chmod a=rwx filename

chmod 777 file
效果相同
chmod ug=rwx,o=x file

chmod 771 file
效果相同
若用chmod 4755 filename可使此程序具有root的权限


Leave a Comment