Linux 是个多用户多任务的系统 ,常常会有多人同时使用同一主机来进行工作,为了考虑每个人的隐私权以及每个人喜好的工作环境 , 对用户进行分类。
分为以下三大类:
文件拥有者 (user)
文件所属组 (group)
其他人 (other)
输入ls -l filename
或ll filename
这些属性从前到后的含义分别如下表所示:
属性 | 含义 |
---|---|
- | 文件的类型 |
rw-r-r– | 文件的权限 |
1 | 文件硬连接个数(文件内容被记录) |
root | 文件所有人 |
root | 文件所有组 |
0 | 文件大小 |
Oct 25 18:20 | 文件最后一词被修改的时间 |
file1 | 文件名称 |
输入ls -ld directory
或ll -d directory
这些属性从前到后的含义分别如下表所示:
属性 | 含义 |
---|---|
d | 文件的类型(d表示目录) |
rwxr-xr-x | 目录的权限 |
2 | 子目录的个数 |
root | 目录所有人 |
root | 目录所有组 |
6 | 文件大小 |
Oct 25 18:26 | 文件最后一词被修改的时间 |
dir | 文件名称 |
常见的文件类型有以下几种:
’ - ’ 空文件或者文本
’ d ’ 目录
’ l ’ 软连接
’ s ’ socket 套接字
’ b ’ block 块设备
’ c ’ 字符设备
第 2~4 个字符代表文件所有人的权限 ;
第 5~7 个字符代表文件所属组的权限 ;
第 8~11 个字符代表其他人的权限
例如: rwx|r-x|r-x
前三位的rwx代表文件所有人( u )的权限
中间三位的 r-x 代表文件所属组( g )的权限
最后三位的 r-x 代表其他人( o )的权限
权限种类有三种: r w x
(1). r
r权限针对文件,表示可以查看文件内容
r权限针对目录,表示可以ls 查看目录中存在的文件名称
(2). w
w权限针对文件,表示可以更改文件的内容
w权限针对目录,表示是否可以删除目录中的子文件或者子目录
(3). x
x权限对于文件,表示是否可以开启文件当中记录的程序
x权限对于目录,表示是否可以进入目录中
输入chown
命令
chown 用户名称 文件 更改文件所有人
chgrp 组名称 文件 更改文件所有组
chown -R 用户 目录 更改目录本身以及目录中的子文件的所有人
chgrp -R 组名 目录 更改目录本身以及目录中的子文件的所有组
操作如下:
首先在/mnt目录下建立5个文件,再在/mnt目录下建立一个新目录test,然后再在test目录下建立3个文件
输入watch -n 1 ls -lR /mnt/
下面对这些新建的文件和目录进行修改用户和用户组的操作:
对于文件权限的修改有两种方式:
方法一:通过字符方式修改
格式: chmod <+|-|=>
方法二: 通过数字方式修改
格式: chmod 数字 目标
将三位权限 rwx 的有无视为二进制,有该权限时,该位为1,无该权限时即该位为 " - ",该位为0。再将这三位数字转换为八进制数字,那么得到的每一个数字就对应一个权限方式。
最终总结得到 r 为 4,w 为 2,x 为 1
下表为权限转换为二进制再转换为八进制的对应:
权限 | 二进制 | 八进制 |
---|---|---|
— | 000 | 0 |
–x | 001 | 1 |
-w- | 010 | 2 |
-wx | 011 | 3 |
r– | 100 | 4 |
r-x | 101 | 5 |
rw- | 110 | 6 |
rwx | 111 | 7 |
操作如下:
输入touch westos{1..6}
在/mnt目录下新建6个文件
当你创建一个新的文件或目录时 ,该文件或目录有默认权限。
umask 的分数指的是 该默认值需要减掉的权限。
在默认权限的属性上,目录与文件是不一样的,文件的最大权限为 666,目录的最大权限为 777。
输入umask
命令显示系统预留权限值
所以对于文件而言,系统默认权限是644;对于目录而言,系统默认权限是755
source /etc/bashrc # 刷新bash配置 source /etc/profile # 刷新系统配置
完成之后就可以永久修改umask值了。效果:只针对于目录,当目录上有 o+t 的权限时 ,所有用户在该目录下均可创建文件 , 但只有文件所有人和 root 用户可以删除该目录下的文件。
设定方式 :
chmod o+t directory
chmod 1777 directory
效果:
针对目录时:在目录中创建的文件都自动归属到目录所在组;
针对二进制文件时:文件内记录的程序在执行时和执行者的组身份没有关系,而是以二进制文件的所有组的身份执行的。
设定方式:
chmod g+s file | directory
chmod 2777 file | directory
效果:只针对于二进制可执行文件,该命令发起的程序是以该命令所有人的身份去执行。
设定方式:
chmod u+s 二进制可执行文件
chmod 4755 二进制可执行文件
示例操作:
在操作特殊权限前,先根据下面的要求创建用户、用户组和目录,要求如下:
新建用户组:shengchan,caiwu,jishu
新建用户要求如下:
1)tom是shengchan组的附加用户
2)harry是caiwu组的附加用户
3)leo是jishu组的附加用户
3)新建admin用户,此用户不属于以上提到的三个部门
新建目录要求如下:
1)/pub目录为公共存储目录对所有用户可以读、写、执行
2)/sc目录为生产部存储目录只能对生产部人员可以写入
3)/cw目录为财务部存储目录只能对财务部人员可以写入