一.权限介绍和实例
ugo权限体系:
首先我们需要了解ugo体系的结构是什么?
ugo = user + group + other
先查看文件属性,指令为:ls -l
随意挑一条,我们就会看到如下文件信息:
- 蓝色:首位表示文件类型{
-文件,d目录(文件夹),l软链接,b块设备
} - 红色(user):表示该文件所属用户的权限
- 黄色(group):表示该文件所属用户组的权限,相当于该用户组其他用户对该文件的权限
- 绿色(other):表示其他用户组的用户对该文件的权限
- 仔细看有个小点:有点表示selinux是开启状态(如需关闭,请翻到底部)
- 1:表示该文件的硬连接数量
- root:表示该文件所属的用户
- 第二个root:表示该文件所属的用户组
- 0:表示该文件的大小,默认单位为B,如果要以KB来显示,输入
ls -lh
来查看。 - 9月 12:05:表示该文件的修改时间(输入
stat+文件名
来查看具体修改时间信息) - 1.txt:文件或目录名称
介绍完大结构后,那rwx分别代表又是什么呢?
- r :可读
- w :可写
- x :可执行
我们介绍完其结构后,相信大家对权限值有所了解,但是只有我们将之运用起来才会真正了解权限值的用处。
权限值表
权限 | 权限值 |
---|---|
- - - | 0 |
- - x | 1 |
- w - | 2 |
- w x | 3 |
r - - | 4 |
r - x | 5 |
r w - | 6 |
r w x | 7 |
这个表大家不用去死记,- - -
三个坑(位)对应的就是4 2 1
,权值相加后的结果就是权限值。三个坑(位)作为一组。三组9位加文件类型1位,共10位。
实例1:张三修改其他用户组用户(李四)的读权限
指令格式:chmod
+ u/g/o
++/-
r/w/x/rw/rx/wx/rwx
+ 文件
chmod全称:change mode 修改属性的意思
实例2:张三修改所有用户文件权限
指令格式:chmod +三位权限值 +文件
rwx r-x r-x
对应的权限值为:755
--x -w- r--
对应的权限值是:124
实践过后,我们就会得出一个结论:权限值可以让我们更加方便地更改某文件的所有用户(ugo)的权限。
二.可执行程序特殊目录说明
我们要执行自定义的命令程序时都需要在命令名称前加上./
才可以执行相关命令。但如果我们把这自定义命令添加此时用户下的/bin
目录。之后,我们就无需在自定义命令名称前加./
了。
-
首先查看用户下
/bin
目录地址:echo $PATH
解释说明:/home/lisi/bin是我的/bin目录地址 -
其次将我们自定义的可执行程序移动到此目录下:
mv +可执行程序名称 +/bin目录地址
解释说明:pl是我的可执行程序名称
三.修改文件及文件夹(目录)的所属和权限
1.修改所属
修改所属必要条件:root权限,也就是在root账户下执行命令。
修改用户命令格式:chown + 用户 + 文件/文件夹
修改用户及用户组命令格式:chown + 用户:用户组 + 文件/文件夹
chown全称:change owner 改变拥有者的意思
方法1:直接修改
- 修改前,用户和用户组均为zhangsan:
- 执行你所要修改的命令,这里我两个命令都执行一下,好让大家对比:
- 执行命令后,用户和用户组的变化如下:
温馨提示:修改用户之后,zhangsan就没有权限使用这个文件了,只有lisi可以操作这个文件。
方法2:利用uid和gid修改
命令格式:chown + uid + gid + 文件/文件夹
- 先查询各个用户的id,命令为:
id + 用户
可以看到zhangsan的uid和gid都是1000,lisi的uid和gid都是1001。
- 再者,我们在root账户下执行更改命令,我们可以看到如下结果:
2.修改权限
命令格式:chmod
+ u/g/o
++/-
r/w/x/rw/rx/wx/rwx
+ 文件/文件夹
文件权限和目录权限的解释说明:
文件权限:rwx
对应的是可读
,可写
,可执行
目录权限:rwx
对应的是可以查看目录下有哪些文件
,可以在目录中创建修改删除文件等操作
,可以cd切换到该目录
为了安全操作:
文件权限默认为:644权限
,狠一点就给600权限
目录权限默认为:755权限
,狠一点就给700权限
四.最后补充:关闭selinux的详细方法
前提条件:在root用户下执行此操作
-
首先输入sestatus查看状态:enabled表示此时处于开启状态
-
修改config内容,输入指令:
vi /etc/selinux/config
进入config文件,键盘敲击i
进入编辑模式。将enforcing改为disabled。再esc
后输入:wq
保存退出 -
重启系统,输入
reboot
,回车。 -
最后我们再查看selinux状态,输入指令:
sestatus
,结果显示disabled,即可完成。
Linux基础内容持续更新,敬请期待…