1, 在Linux中,默认情况下所有的系统上的账号都记录在/etc/passwd这个文件内,密码记录在/etc/shadow这个文件下,所有的组名都记录在/etc/group内,这三个文件可以说是Linux系统里 账号、密码、用户组信息的集中地。
2,Linux文件权限详解
使用 ls -al 显示文件名与相关属性 参数-al 则表示列出所有的文件详细的权限与属性(包括隐藏文件,就是文件名第一个字符是 "." 的文件)
第一列表示文件的类型与权限
第一个字符代表这个文件是 " 目录、文件或链接文件等"
[d] 则是 目录 ; [-] 则是 文件 ; [l]则是 连接文件 ; [b] 则是 设备文件里面的可供存储的接口设备 ; [c] 设备文件里面的串行端口设备如键盘鼠标
接下来,以3个为一组,且均为 "rwx" 的3个参数组合 [r]读 [w]写 [x]执行 ,如果没有权限使用[-]
第二列表示有多少文件名连接到此节点(i-node);
其他几列简单,略去
3,chgrp chown命令需要root身份才能处理
改变文件所属用户组 chgrp(change group)
[root@node1 ~]# chgrp [-R] dirname/filename ...
选项与参数: -R 进行递归(recursive)的持续更改,即连同子目录下的所有文件、目录 都更新成为这个用户组之意。
改变文件的所有者 chown(change owner)
注意:用户必须是已经存在于系统中的账号,也就是在/etc/passwd这个文件中有记录的用户名称才能改变;
它还可以顺便直接修改用户组的名称,如果要连目录下所有子目录或文件都同时更改文件所有者的话,直接加 -R 参数 即可。
[root@node1 test]# chown [-R] 账户名称 文件或目录
[root@node1 test]# chown [-R] 账户名称:组名 文件或目录
什么时候要使用chgrp chown呢? 最常见的例子就是复制文件给你之外的其他人时
由于复制行为(cp)会复制执行者的属性与权限
4, 改变权限 chmod ,设置权限有两种方式,分别可以使用数字或者是符号来进行权限更改。
数字类型改变文件权限:
Linux文件基本权限有9个,分别是owner,group,others三种身份各自的read,write,execute权限。其中,我们可以使用数字来代表各权限,各权限的分数对照表如下:
r : 4 w : 2 x : 1
例如 当权限为[-rwxrwxr--]时, 分数分别是
owner = rwx = 4+2+1 = 7
group = rwx = 4+2+1 = 7
others = r-- = 4+0+0 = 4
这个文件的权限数字就是 774
[root@node1 test]# chmod [-R] xyz 文件或目录
xyz就是刚刚提到的数字权限,为rwx属性数值的相加 -R依然是递归
符号类型改变文件权限
基本的9中权限,分别是 user、group、others 3种身份,可以通过 u,g,o来代表3种身份的权限,此外a代表all,也就是全部的身份
chmod |
u g o a |
+(加入) -(除去) =(设置) |
r w x |
文件或目录 |
事先不知道原先的文件属性,只想增加或者去除某些属性 用 " + - "
5, 权限对文件的重要性
r : 可读取此文件的实际内容,如读取文本文件的文字内容等。
w : 可编辑、新增、或者修改该文件内容(但不包含删除该文件)
x : 该文件具有可以被系统执行的权限
对于文件的r,w,x而言,主要是针对 "文件的内容" ,与文件名的存在与否没有关系的,因为文件记录的是实际数据
6, 权限对目录的重要性
文件是存放实际数据的所在,目录主要内容是记录文件名列表,文件名与目录有强烈的关联。
r : 具有读取目录结构列表的权限, 使用ls命令将该目录的内容列表显示出来。
w : 写入权限对目录来说是很强大的。因为它表示你具有更改改目录结构列表的权限,
即: 新建新的文件与目录; 删除已经存在的文件与目录(不论改文件的权限为何);
将已经存在的文件或目录重命名; 转移该目录内的文件、目录位置;
总之,目录的 w 权限就与该目录下面的文件名变动有关就对了。
x : 代表用户能否进入该目录成为工作目录的用途,所谓工作目录,就是你目前所在的目录。
工作目录用于命令的执行是非常重要的,如果你在某目录下不具有x的权限,那么你就无法切换到该目录下,也就无法执行该目录下的任何命令,即使你具有该目录的r权限。
7, 切换用户身份 su XXX