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