一、用户组和用户
Linux是一个多用户、多任务环境,如下图,GroupA代表一个用户组,GroupB代表一个用户组,root是超级用户。
Linux中,任何一个文件都有User、Group和others3种身份的级别。以UserB为例,UserB属于GroupA,UserE相对于UserB就是others。
二、文件属性
查看文件属性的命令:
ls -al
在一个文件夹下使用上述命令:
返回结果从左到右一共有7列:
1:文件的类型与权限
第一列的前10个字符(@除外,mac特有)代表文件组的读、写、执行权限。
第一个字符代表文件是目录、文件或者连接文件。
- d:代表目录
- -:代表文件
- l:连接文件
- b: 可供存储的接口设备
- c:串行端口设备(鼠标、键盘等)
后面9个每3个一组,均为”rwx”的组合:
- r:代表可读
- w:代表可写
- x:代表可执行
第一组为文件所有者的权限、第二组为用户组的权限、第三组为其它非本用户组的权限。
以drwxr-xr-x
为列:
d rwx r-x r-x
1 234 567 890
1:说明文件类型为文件夹
234:文件所有者可读、可写、可执行(rwx)
567:文件所有者的用户组可读、可执行不可写(r-x)
890: others用户可读、可执行不可写(r-x)
2:连接
第二列代表有多少个文件名连接到此节点。
3:所有者
第三列代表文件的所有者
4:用户组
第四列代表文件所属的用户组
5:文件大小
第五列代表文件大小,单位为B。如果想使用可读模型,使用-h参数,即:
ls -alh
6:修改日期
第六列代表文件的创建日期或者最近修改日期。格式为月、日和时间,若文件第修改时间较久,会显示年份。
7:文件名
第七列代表文件名,如果文件前面有一个.代表该文件是隐藏文件。
三、改变文件属性与权限
如果需要改变文件(夹)的文件所属用户组、文件所有者、文件的权限,Linux提供列了相应的修改命令。
3.1改变文件所属用户组
chgrp:change group的缩写,把install.log文件的用户组改为users:
chgrp users intall.log
如果是文件夹,需要添加-R参数,文件夹下的子文件和子文件夹都会递归添加。
3.2 改变文件所有者
chown:change owner的缩写,改变文件的所有者:
chown bee intall.log
同样,文件夹可以使用-R参数。
3.3改变文件的权限
chmod:改变文件的权限
linux的文件基本权限有9个,分别是owner、group和others三种身份各自有的读、写、执行权限,各权限读分数如下:
- r:4
- w:2
x:1
每种身份的权限都需要累加,例如,对.bashrc文件,修改其执行权限为:owner=rwx=4+2+1,group=rwx=4+2+1,others=---=0+0+0=0,执行命令:
chmod 770 .bashrc
四、笔试题
在Linux中,对file.sh文件执行chmod 645 file.sh,该文件对权限是:(D)
- A -rw-r--r--
- B -rw-r--rx-
- C -rw-r--rw-
- D -rw-r--r-x
五、参考资料
《鸟哥的Linux私房菜》