Linux文件权限与目录配置
来源:互联网 发布:整体衣柜设计软件 编辑:程序博客网 时间:2024/05/07 11:02
1. 查看文件及目录属性的命令
如果要查看一个文件的属性,可以通过ls -l 文件名
查看。例如: 查看test.txt
文件的属性:
ls -l test.txt
其结果如图1-1
所示:
图1-1
而要查看一个目录的属性,可以通过
ls -dl 目录名
命令。 2. 属性含义
从图1-1
中可以看出文件属性主要分为7列,分别代表文件类型与权限、文件名连接数、文件(或目录)所有者、文件(目录)所属组、文件大小(默认单位为B)、文件最近修改时间、文件名。下面主要说明一下文件类型与权限。
文件类型与权限
- 文件类型: 第一列中的第一个字符
d: 表示目录 -: 表示文件 l: 表示为连接文件 b: 表示设备文件里可供存储的接口设备 c: 表示设备文件里的串行端口设备,例如鼠标、键盘 s: 表示套接字文件
文件权限: 第一列的第2~10个字符
这9个字符中,每3个字符为一组,分成3组,分别代表
文件所有者权限
、文件所属组权限
、其他非本用户组权限
。而每组中的3个字符分别代表读权限[r]
、写权限[w]
、执行权限[x]
。当具有此权限时,则字符值为相应字母[r|w|x]
,当不具有此权限时,则字符值为-
。
此外,rwx
权限还可以用数值来表示,r
对应数值为4,w
对应数值为2,x
对应数值为1,-
对应数值为0。所以,当同时具备rwx
权限时,其权限数值为7,当同时不具备rwx
权限时,其数值为0。
3. 示例分析
(1) 某目录的属性如图3-1
所示:
图3-1
图3-1
中目录所有者拥有该目录的所有权限,可以通过ls -l test
查看目录下文件信息,通过cd test
进入该目录,在该目录下新增或删除文件;而文件所属组用户可以通过ls -l test
查看目录下文件信息,通过cd test
进入该目录,但不能在该目录下新增或删除文件;其他用户则只能通过ls -l test
查看目录下文件信息,但不能通过cd test
进入该目录,也不能在该目录下新增或删除文件。例如,通过su - linux
切换到linux
用户(属于linux
用户组),并执行cd test
,结果如图3-2
:
图3-2
此外,当root
用户将其他用户的r
权限也去除时,则其他用户只能通过ls -ld test
查看test
目录的信息,而不能用ls -l test
查看test
目录下的文件信息。如图3-3
所示:
图3-3
注意:
(1) 能否进入一个目录,只与该目录的x
权限有关
(2) 当需要开放目录给相关用户浏览时,至少要赋予相关用户r
和x
权限
(2) 某文件的权限如图3-4
所示:
图3-4
图3-4
中文件所有者拥有该文件的所有权限,可以读取文件,修改文件,执行文件;而文件所属用户组用户只能读取文件和执行文件,但不能修改文件;其他用只能读取文件内容,但不能修改文件,也不能执行该文件。
注意:
如果用户对文件不具备修改权限,但是用户对test
文件所在目录拥有完整的rwx
权限(如
用户的主目录),则该用户可以删除该文件(此时,用户执行的目录下的w
权限),如
图3-5
所示:
图3-5
4. Linux常用目录配置
4.1 Linux目录配置标准
四种类型说明:
- 可分享的:可以分享给其他系统挂载使用的目录,所以包括执行文件与用户的邮件等数据, 是能够分享给网络上其他主机挂载用的目录
- 不可分享的:自己机器上面运作的装置文件或者是与程序有关的
socket
文件等, 由于仅与自身机器有关,所以不适合分享给其他主机 - 不变的:有些数据是不会经常变动的,跟随着
distribution
而不变动。 例如函式库、文件说明文件、系统管理员所管理的主机服务配置文件等等 - 可变动的:经常改变的数据,例如登录文件、一般用户可自行收受的新闻组等
4.2 根目录的意义及内容
根目录是整个系统最重要的一个目录,因为不但所有的目录都是由根目录衍生出来的, 同时根目录也与开机/还原/系统修复等动作有关。 由于系统开机时需要特定的开机软件、核心文件、开机所需程序、 函式库等等文件数据,若系统出现错误时,根目录也必须要包含有能够修复文件系统的程序才行
FHS对根目录的要求:
根目录不要放在非常大的分割槽内, 因为越大的分割槽你会放入越多的数据,如此一来根目录所在分割槽就可能会有较多发生错误的机会
根目录下该有的子目录:
/bin
/bin
放置的是在单人维护模式下还能够被操作的指令,可以被root
与一般账号所使用 /boot
放置开机会使用到的文件,包括Linux
核心文件以及开机选单与开机所需配置文件等 /dev
存放与Linux
系统相关的设备及装置文件 /etc
放置Linux
系统主要配置文件,目录下的各文件属性是可以让一般使用者查阅的, 但是只有root
有权力修改。/etc/init.d/
存放着所有服务默认启动脚本, /etc/xinetd.d/
存放super daemon
管理的各项服务的配置文件 /home
系统默认的用户主文件夹 /lib
系统开机时会用到的函式库,以及在/bin或/sbin底下的指令会呼叫的函式库 /media
放置的就是可移除的装置,例如软盘、光盘 /mnt
放置需要暂时挂载的额外装置 /opt
第三方软件放置的目录 /root
系统管理员root
的主目录 /sbin
放置开机过程中所需要的命令,里面包括了开机、修复、还原系统所需要的指令 /srv
放置一些网络服务启动之后所需要取用的数据 /tmp
让一般使用者或者是正在执行的程序暂时放置文件的目录,注: FHS
甚至建议在开机时,应该要将/tmp
下的数据都删除除FHS
针对根目录定义的标准之外,还有一下几个目录比较重要:
/lost+found
用于存放当文件系统发生错误时所丢失的片段 /proc
表示放置于内存之中的数据,不占硬盘空间。比如: proc/cpuinfo
, /proc/dma
, /proc/interrupts
, /proc/ioports
, /proc/net/*
/sys
存放核心相关的信息,包括目前已加载的核心模块与核心侦测到的硬件装置信息等等。这个目录同样不占硬盘容量。注意:
/etc
、/bin
、/dev
、/lib
、/sbin
这五个目录不能与根目录存放于不同的分区
4.3 /usr
的意义与内容
usr
是Unix Software Resource
的缩写, 也就是Unix操作系统软件资源
所放置的目录。FHS
建议所有软件开发者,应该将他们的数据合理的分别放置到这个目录下的次目录,而不要自行建立该软件自己独立的目录。
/usr
目录下建议的子目录:
/usr/X11R6/
放置X Window System
相关的重要数据 /usr/bin/
放置绝大部分用户可使用的命令,与/bin
的不同之处。(是否与开机过程有关) /usr/include/
放置c/c++
等程序语言的档头header
与包含档include
/usr/lib/
放置应用软件的函式库、目标文件Object File
,以及不被一般使用者惯用的执行档或脚本script
/usr/local/
放置系统管理员在本机自行安装或自己下载的软件(非distribution
默认提供者) /usr/bin/
放置非系统正常运作所需要的系统指令 /usr/share/
放置共享文件的地方,在这个目录下放置的数据几乎是不分硬件架构均可读取的数据 /usr/src/
放置源码的目录4.4 /var
的意义及内容
如果/usr
是安装时会占用较大硬盘容量的目录,那么/var
就是在系统运作后才会渐渐占用硬盘容量的目录。 因为/var
目录主要针对常态性变动的文件,包括缓存cache
、登录档log file
以及某些软件运作所产生的文件, 包括程序文件lock file
,run file
,或者例如MySQL
数据库的文件等等。
/var
目录下建议的子目录:
/var/cache/
放置应用程序本身运作过程中会产生的一些暂存档 /var/lib/
放置程序本身执行的过程中,需要使用到的数据文件 var/lock/
放置不能同时两个及以上程序使用的文件资源 /var/log/
放置登录文件,例如/var/log/messages
,/var/log/wtmp
/var/mail/
放置个人电子邮件信箱 /var/run/
放置某些程序或者是服务启动后的PID
/var/spool/
放置一些队列数据,即排队等待其他程序使用的数据- Linux文件权限与目录配置
- Linux 的文件权限与目录配置
- linux的文件权限与目录配置
- Linux的文件权限与目录配置
- Linux的文件权限与目录配置
- Linux文件权限与目录配置
- Linux文件权限与目录配置
- Linux的文件权限与目录配置
- Linux的文件权限与目录配置
- linux学习 文件权限与目录配置
- Linux 的文件权限与目录配置
- linux文件权限与目录配置
- Linux 的文件权限与目录配置
- Linux文件权限与目录配置
- linux文件权限与目录配置
- Linux的文件权限与目录配置
- Linux的文件权限与目录配置
- Linux的文件权限与目录配置
- java小算法——根据特殊字符切割一维字符数组
- 【记录】安装WAMP问题汇总
- neutron-server服务启动流程-基于mitaka版本
- Java字符串的相关方法
- c的多参设计原理
- Linux文件权限与目录配置
- Java定时器(一)Timer类和TimerTask类
- Linux系统编程第13章-文件I/O缓冲
- JSON与XML
- 搭建FFmpeg的编译开发环境(VMware+Ubuntu)
- 【C语言】二分法查找
- python自制免费代理IP服务
- 扩展数字位
- python闭包浅见