linux鸟哥-第6章-linux的文件权限与目录配置
用户与用户组
- linux用户身份与用户组记录的文件
在我们linux系统中,默认的情况下所有系统上的账号与一般身份用户,还有root的相关信息,都是记录在/etc/passwd这个文件内。至于个人的密码则是记录在/etc/shadow这个文件下面。linux所有的组员都记录在/etc/group内。
linux文件权限概念
ls -al可以查看文件的具体信息,包括权限
分别代表的意思是文件权限,连接数,文件所有者,文件所属用户组,文件大小(单位为B),文件最后被修改的时间,文件名
第一个字符代表这个文件是目录,文件或者链接文件等
- 若是【d】则是目录
- 若是【-】则是文件
- 若是【|】则表示为连接文件
- 若是【b】则是设备文件里面的可供存储的接口设备
- 若是【c】则表示设备文件里面的串口端口设备
接下来的字符中,三个为一组,r表示可读,w表示可写,x表示可以执行
- 第一组为文件所有者的权限
- 第二组为同用户组的权限
- 第三组表示其他用户的权限
第二列的数字表示多少文件名连接到此节点
每个文件都会将它的权限和属性记录到文件系统的i-node中,不过我们使用的目录树却是使用文件名来记录,因此每个文件名都会连接到一个i-node。这个属性记录的就是有多少不同的文件名连接到相同的一个i-node号码。
如果想让系统默认的语言变成英语的话,就修改系统配置文件/etc/sysconfig/i18n
第七列就是该文件名
如果文件名之前多了“.”,就代表这个文件为隐藏文件
例如
drwxr-xr-- 1 test1 testgroup 5238 Jun 19 10:25 groups/
表示文件所有制可以在本目录进行任何工作
testgroup这个用户组可以进入本目录工作,但是不能在本目录进行写入操作
others虽然有r的权限,但是没有x的权限,所以无法进入本目录
-
接下来是几个常用于用户组、所有者、各种身份的权限的修改的命令
chgrp:改变文件所属用户组
chown:改变文件所有者
chmod:改变文件的权限 -
chgrp是change group的简称。但是要被改变的组名必须要在/etc/group文件内存在才行,否则就会显示错误
-
改变文件所有者:chown
改变的所有者必须是已经存在于系统中的账号,就是在/etc/passwd这个文件中有记录才行
chown可以顺便直接修改用户组的名称。如果连目录下面的所有子目录或文件都需要同事改变文件所有者的话,需要加上-R的参数
例子:
chown bin install.log 将install.log的文件所有者改为bin
chown root:root install.log 将这个文件的所有者和所有组都改为root
cp命令
cp 源文件 目标文件
但是cp会复制执行者的谁能够和权限,就需要修改文件的所有组和所有者
chmod命令,改变权限
- 数字改变权限
上文讲到9个权限是3个为一组的。其中,我们可以使用数字来代表各个权限
r:4
w:2
x:1
每种身份各自的三个权限分数是需要累加的,例如-rwxrwx—,就是770
chmod的语法:chmod [-R] 数字 文件或目录
chomd 777 .bashrc
- 符号改变类型
- 我们通过u,g,o来代表三种身份的权限,其中a代表all,就是全部的身份。读写的权限写成r,w,x
例如
chmod u=rwx,go=rx .bashro
如果只是想增加文件的每个人均可写入的权限呢
chmod a+w .bashrc
- 权限对文件的重要性
read:可读取文件的实际内容
write:可以编辑、新增或是修改文件的内容
execute:该文件具有被系统执行的权限
关于x,我们必须要小心。在Windows下面,一个文件是否具有执行的能力是通过扩展名来判断的。但是在linux下面,我们的文件是否被执行是由x这个权限来决定的
w:是指的具有写入、编辑、新增、修改文件的内容的权限,但是没有删除的权限
- 权限对目录的重要性
文件是存放实际数据的所在,目录主要的内容是记录文件名列表,文件名与目录由强烈的关联
r:表示可以查询该目录下面的文件名数据
w:表示可以更改目录结构列表的权限
就是新增新的文件和目录
删除已经存在的文件和目录
将已经存在的文件和目录进行重命名
转移该目录内的文件、目录位置
x:代表用户是否进入该目录成为工作目录的用途,就是CD的权限
没有x的权限是无法进入目录的
实战:
例子证明有r的权限可以查询文件名,但是没有X,有一堆问号
因为不具有x,没有进入的权限
有r的权限可以读取目录的文件名列表,但是详细的信息还是读不到的,同时也不能是的变成工作目录。
x在目录中只是和能否进入该目录有关系,但是w的权限更大,它可以让用户删除、更新、新建文件或目录