(六)Linux的文件权限与目录配置


1.在Linux里面,任何一个文件都具有『User, Group及Others』三种身份的个别权限。
\


以王三毛为例,王三毛这个『文件』的User为王三毛,他属于王大毛这个Group, 而张小猪相对于王三毛,则只是一个『others』而已。无所不能的天神则是root。
在我们Linux系统当中,默认的情况下,所有的系统上的账号与一般身份使用者,还有那个root的相关信息,都是记录在/etc/passwd这个文件内的。至于个人的密码则是记录在/etc/shadow这个文件下。 此外,Linux所有的组名都纪录在/etc/group内!
2. Linux文件属性
以root的身份登入Linux之后,输入『 ls-al 』,ls即list,用于显示文件的文件名与相关属性,而选项『-al』则表示列出所有的文件详细的权限与属性
\


第一栏代表这个文件的类型与权限(permission):

①第一个字符代表这个文件的属性:[ d ]是目录;[ - ]是文件;[ l ]表示为连结档文件(linkfile),类似于快捷方式;[ b ]表示为装置文件里面的可供储存的接口设备(可随机存取装置);[ c ]则表示为装置文件里面的串行端口设备,例如键盘、鼠标(一次性读取装置);[ p ] 是数据传送文件;[ s ]是数据接口文件。

②接下来的字符中,三个为一组,均为『rwx』 的三个参数的组合。[ r ]代表可读(read)、[ w ]代表可写(write)、[ x ]代表可执行(execute),[- ]代表没有权限。一共三组,分别对应User,Group,Others。

第二栏表示有多少档名连结到此节点(i-node):

每个档名就会连结到一个文件系统的i-node中,这个属性记录的,就是有多少不同的档名连结到相同的一个i-node号码

第六栏为这个文件的建档日期或者是最近的修改日期:

『ls -l --full-time』命令能够显示出完整的时间格式

第七栏为这个文件的档名

隐藏档就是文件名第一个字符为『 . 』的文件

Linux文件权限的重要性:系统保护的功能,团队开发软件或数据共享的功能,未将权限设定妥当的危害。

3. 改变文件属性和权限

-R表示要连目录下的所有次目录或文件

chgrp :改变文件Group

\

chown :改变文件User

\

chmod :改变文件的权限, SUID, SGID, SBIT等等的特性

\

①数字类型改变文件权限: r:4 w:2 x:1

\

②符号类型改变文件权限:u(User),g(Group),o(Ohters),a(ALL)

\

 

\

 

\

\

权限对文件的重要性:r代表读取文件内容;w表示写入/编辑/新增/修改,但不具备删除文件本身的权限;x 决定文件能否被执行x,仅代表拥有能有被执行的能力,不代表能被成功执行。

权限对目录的重要性:文件存放实际数据,目录则是记录文件列表。r 代表可以读取目录结构列表,并不意味着可以进入该目录;w 代表具有异动该目录结构列表的权限(新建,删除,改名,移动);x 决定用户能否进入该目录成为工作目录(工作目录(work directory)就是你目前所在的目录);只有r 没有 x 只能读取目录文件名列表,详细信息看不到,全是问号。

4. Linux文件种类与扩展名

①文件种类:正规文件(regular file ) [ - ]:纯文本档(ASCII),二进制文件(binary) 数据格式文件(data);目录(directory)[d];连结档(link)[l]:快捷方式;设备与装置文件(device)[b]:区块(block)设备档,字符(character)设备文件;数据接口文件(sockets)[s];数据输送文件(FIFO, pipe)[p]。

② Linux文件扩展名: *.sh: 脚本或批处理文件 (scripts);*Z, *.tar, *.tar.gz, *.zip, *.tgz: 经过打包的压缩文件*.html, *.php:网页相关文件。

③Linux文件长度限制:使用预设的Ext2/Ext3文件系统时,单一文件或目录的最大容许文件名为 255 个字符,包含完整路径名称及目录 (/) 之完整档名为 4096 个字符。

Linux文件名的限制:设定文件名时最好避免特殊字符:* ?> < ; & ! [ ] | \ ' " ` ( ) { }

 

5.Linux目录配置的依据—FHS

①FHS的主要目的是希望让使用者可以了解到已安装软件通常放置于那个目录下,四种特色目录:shareable,unshareable, static, variable


\

 

可分享的:可以分享给其他系统挂载使用的目录,所以包括执行文件与用户的邮件等数据,是能够分享给网络上其他主机挂载用的目录;

不可分享的:自己机器上面运作的装置文件或者是与程序有关的socket文件等, 由于仅与自身机器有关,所以当然就不适合分享给其他主机了。

不变的:有些数据是不会经常变动的,跟随着distribution而不变动。 例如函式库、文件说明文件、系统管理员所管理的主机服务配置文件等等;

可变动的:经常改变的数据,例如登录文件、一般用户可自行收受的新闻组等。

②FHS所定义的三层主目录为:/, /var, /usr

/ (root, 根目录):与开机系统有关;
/usr (unix software resource):与软件安装/执行有关;
/var (variable):与系统运作过程有关。

③有五个目录不可与根目录放在不同的partition,分别为/etc, /bin, /lib, /dev, /sbin五个。

相关内容