Linux用户身份与群组记录的档案
在Linux系统中,默认的情况下,所有的系统的账号与一般身份使用者,还有root的相关信息,都是记录在/etc/passwd这个档案内的。至于个人的密码则记录在/etc/shadow这个档案中,Linux所有的组名都记录在/etc/group内。这三个档案不能随便删除
Linux文件属性
【ls】这是一个查看档案的指令。ls是【list】的意思,重点是显示档案的文件名与相关属性,选项【-al】则是表示列出所有的档案详细的权限与属性(包含隐藏文件,就是文件名第一个字符为【.】的档案)
执行【ls -al】指令,显示的信息解析如下:
。。第一个字符代表这个档案是【目录、档案或链接文件等等】:
当为【d】则是目录,当为【-】则为档案,当为【l】则标识连结档,当为【b】则表示为装置文件里面的可供存储的接口设备(可随机存取装置);若为【c】则表示为装置文件里面的串行端口设备,例如键盘、鼠标(一次性读取装置)
。。接下来的字符中,以三个为一组,且均为【rwx】的三个参数的组合,其中,【r】代表可读(read),【w】代表可写(write),【x】代表可执行(execute)。这三个权限的位置不会改变,如果没有权限,就会出现减号【-】。第一组为【档案拥有者】,第二组为【同群组的权限】,第三组为【其他非本群组的权限】
改变文件属性和权限
chgrp:改变档案所属群组(要改变的群组必须在/etc/group档案内存在)
chown:改变档案拥有者(用户必须是已经存在系统中的账号,也就是在/etc/passwd这个档案中有记录的用户名称才能改变)
chmod:改变档案的权限,SUID,SGID,SBIT等等的特性
cp:复制档案的指令
档案权限的改变使用的是chmod这个指令,但是权限的设定方法有两种,分别可以使用数字或者符号来进行权限的变更:
。。数字类型改变档案权限
Linux档案的基本权限共有九个,分别是owner/group/others三种身份各有自己的read/write/execute权限,档案的权限字符为【-rwxrwxwx】,这九个权限是三个三个一组的,其中,可以使用数字来代表各个权限,各权限的分数对照:r:4 w:2 x:1。每种身份(owner/group/others)各自的三个权限(r/w/x)分数是需要累加的,例如:
。。符号类型改变档案权限:
另一种改变权限的方法:用字母u,g,o来代表user,group,others三种身份,此外a则代表all也就是全部的身份,对应的读写权限就是r,w,x。
权限对档案的重要性
档案是实际含有数据的地方,包括一般文本文件、数据库内容文件、二进制可执行文件等等。因此,权限对于档案来说,他的意义是这样的:
r(read):可读取此一档案的实际内容,如读取文本文件的文字内容等
w(write):可编辑、新增或者是修改该档案的内容(但不含删除该档案,针对的只是档案的内容,与档案档名的存在没有关系)
x(execute):该档案具有可以被系统执行的权限(具有执行的权限但是不一定能够执行成功)
权限对目录的重要性:
档案是存放时间数据的所在,目录主要的内容在记录文件名列表,文件名与目录有强烈的关联,针对目录时,r,w,x的意义如下:
r(read contents in directory):表示具有读取目录结构列表的权限,表示可以查询该目录下的文件名数据
w(modify contents of directory):表示具有异动该目录结构列表的权限,即:建立新的档案与目录;删除已存在的档案与目录(不论该档案的权限为何);将已存在的档案或目录进行更名;搬移该目录内的文档、目录位置
x(access directory):代表的是用户能否进入该目录成为工作目录的用途(也就是进入此目录的权限)。工作目录就是你目前所在的目录,例如:当你登入Linux时,家目录就是你当下的工作目录。
所有要开放目录给任何人浏览时,至少要给予x和r的权限
可以用【su user】指令来切换账户
Linux目录配置的依据--FHS
FHS针对目录树架构仅定义出三层目录底下应该放置什么数据,分别是下面这三个目录:
/(root,根目录):与开机系统有关;
/usr(unix software resource):与软件安装/执行有关
/var(variable):与系统运作过程有关
根目录(/)的意义与内容:根目录是整个系统最重要的一个目录,因为不但所有的目录都是由根目录衍生出来的,同时根目录也与开机/还原/系统修复等动作有关。由于系统开机时需要特定的开机软件、核心档案、开机所需程序、函式库等等档案数据,若系统出现错误时,根目录也必须要包含有能够修复文件系统的程序才行。因为根目录非常重要,因此FHS要求根目录不要放在非常大的分割槽内,因为越大的分割槽会放入越多的数据,如此一来根目录所在分割槽就可能会有较多发生错误的机会。
因此FHS标准建议:根目录(/)所在分割槽应该越小越好,且应用程序所安装的软件最好不要与根目录放在同一个分割槽内,保持根目录越小越好,如此不但效能最佳,根目录所在的文件系统也较不容易发生问题。因为根目录与开机有关,开机过程中仅有根目录会被挂载,其他分割槽则是在开机完成之后才会持续的进行挂载的行为。因此,根目录下与开机过程有关的目录,就不能够与根目录放在不同的分割槽去。下面这些目录不能够与根目录分开:
/etc:配置文件 /bin:重要执行档 /dev:所需要的装置档案 /lib:执行档所需的函式库与核心所需的模块 /sbin:重要的系统执行文件 这五个目录是一定不能与根目录分开的分割槽
/usr的意义与内容:依据FHS的基本定义,/usr里面放置的数据属于可分享的与不可变动的(shareable,static)。是【Unix操作系统软件资源】所放置的目录。类似于Windows系统的【C:\Windows\+C:\Program file\】这两个目录的综合性,系统刚安装完毕时,这个目录会占用最多的硬盘容量。系统管理员在本机自行安装自己下载的软件(非distribution默认提供者)建议安装到目录/usr/local/,便于管理
绝对路径与相对路径
绝对路径:由根目录(/)开始写起的文件名或目录名称,例如/home/dmtsai/.bashrc;
相对路径:相对于目前按路径的文件名写法。例如:./home/dmtsai或../../home/dmtsai等等
反正开头不是/就属于相对路径的写法
相对路径是以【当前所在路径的相对位置】来表示的。