您的位置:首页 > 运维架构 > Linux

linux学习笔记:文件权限与目录配置

2014-12-18 10:55 706 查看
用户与用户组

假设有一个家庭,家里只有三兄弟,分别是王大毛、王二毛和王三毛3个人,而这个家庭是登记在王大毛的名下。所以“王大毛家有3个人,分别是王大毛、王二毛、王三毛”,而且这3个人都有自己的房间,并且共同拥有一个客厅。

用户的意义:由于王家三人各自拥有自己的房间,所以王二毛虽然可以进入王三毛的房间,但是王三毛不能翻王二毛的抽屉,因为抽屉可能有王二毛私人的东西,例如情书日记等,这是“私人的空间”,所以当然不能让王二毛随便乱动了。

用户组的意思:由于共同拥有客厅,所以王家三兄弟可以在客厅打开电视机,翻阅报纸,等,只要是客厅的东西,三兄弟都可共同使用。

“王大毛家”就是所谓的用户组,三兄弟分别就是3个用户,而这3个用户在同一个用户组里边。而虽然3个用户在同一个用户组内,但是我们可以设置“权限”,好让某些用户个人的信息不被用户组的拥有者查询,以保留四人的空间。

在linux里面,任何一个文件都具有“User,Group以及Others”3种身份的个别权限。默认的情况下,所有的系统上的账号与一般身份用户还有那个root的相关信息,都记录在/etc/passwd这个文件内,至于个人的密码则是记录在/etc/shadow这个文件下。所有的组名都记录在/etc/group内。

linux文件权限

例如:-rw-r--r-- 代表了这个文件的类型和权限

第一个字符代表这个文件是“目录、文件或链接文件等”

[d]:目录

[-]:文件

[l]:连接文件(linkfile)

[b]:设备文件里面的可供存储的接口设备

[c]:设备文件里面的串行端口设备,例如键盘鼠标等

接下来的字符,3个为一组,且均为“rwx”的3个参数的组合,分别指的的是文件所有者的权限,同用户组的权限,其他非本组用户组的权限。

如何改变文件属性和权限

chgrp:改变文件所属用户组(要被改变的组名必须在/etc/group中,例如chgrp users install.log)

chown:改变文件所有者(例如chown bin install.log,也可以使用“chown user.group file”,所有者与用户组间加上小数点)

chmod:改变文件的权限(例如chmod 777 file或者chmode u=rwx,go=rx file或者chmod u+x file(user,group,other,all))

目录与文件的权限意义

文件

w(write):可以编辑、新增或者是修改该文件的内容,但不含删除该文件

x(execute):该文件具有可以被系统执行的权限。在linux下,我们的文件是否能被执行则是由是否具有“x“这个权限来决定,而跟文件名没有绝对的关系。

目录

r:表示具有读取目录结构列表的权限。

w:表示具有更改该目录结构列表的权限,包括:新增文件与目录,删除已经存在的文件与目录(不论该文件权限如何),将已存在的文件或目录进行重命名,转移该目录内的文件、目录位置。

x:代表的是用户能否进入该目录成为工作目录的用户

linux目录配置

事实上,FHS针对目录树结构仅定义出三层目录下面应该放置什么数据而已:

/:与开机系统有关

/usr:与软件安装/执行有关

/var:与系统运行过程有关

/(根目录)

FHS标准建议:根目录(/)所在分区应该越小越好,且应用程序所安装的软件最好不要与根目录放在同一个分区内,保持根目录越小越好。如此不但性能较好,根目录所在的文件系统也较不容易发生问题。

/bin:放置的是在单用户维护模式下还能够被操作的命令。在/bin下的命令可以被root和一般账号使用,主要有cat,chmod,chown,date,mv,mkdir,cp,bash等命令

/boot:主要放置开机会用到的文件,包括linux内核文件以及开机菜单与开机配置文件等

/dev:任何设备和接口都是以文件形式存在与这个目录当中的,只有通过访问这个目录下面的某个文件,就相当于访问某个设备,比较重要的文件有/dev/null,/dev/zero,/dev/tty,/dev/lp*,/dev/hd*,/dev/sd*等

/etc:系统主要的配置文件几乎都放到这个目录。一般来说,这个目录下的各文件属性可以让一般用户查阅,但只能root修改。FHS建议不要放置任何可执行文件在这个目录中。

/home:这是系统默认的用户主文件夹。~:代表目前这个用户的主文件夹;~dmtsai:待变dmtsai的主文件夹。

/lib:放置的是开机时会用到的函数库,以及在/bin或者/sbin下面的命令会调用的函数库

/media:放置的是可删除的设备,包括软盘、光盘、DVD等设备都暂时挂在于此

/mnt:暂时挂载某些额外的设备,一般建议你放置到这个目录中

/opt:第三方软件放置的目录

/root:系统管理园的主文件夹

/sbin:开机过程中所需要的,里面包括了开机、修复、还原系统所需要的命令

/srv:一些网络服务启动之后,这些服务所需要取用的数据目录,常见的WWW,FTP等

/tmp:让一般用户或者是正在执行的程序暂时放置文件的地方

需要注意的是:因为根目录与开机有关,开机过程中仅有根目录会被挂载,其他分区则在开机完成之后才会持续进行挂载的行为。

/etc,/bin,/dev,/lib,/sbin这个五个目录千万不可与根目录分开放到不同的分区!

/usr的意义与内容

是UNIX Software Resource的缩写。所有系统默认的软件都会放置到/usr下面,有点类似于windows的“C:\Windows”,系统刚安装后,这个目录会占用最多的硬盘容量

/var的意义与内容

在系统运行后才会渐渐占用硬盘的容量的目录。主要针对常态性变动的文件,包括缓存,登录文件以及某些软件运行所产生的文件
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: