参考:https://blog.csdn.net/weixin_45423515/article/details/126652740
一、切换root权限
既然root是最大的权限,那么这里就来了解一下如果切换到root用户。
su - //切换成root
这就是切换人的权限,但是大多数情况是root权限不会轻易的分给普通用户。
那么再切回普通用户。
su + [用户名]
root用户切换会直接切换到对应用户,普通用户切换要输入密码。如果发现切换错了用户,想快速回退可以使用快捷键 Ctrl+D。
二、文件的权限
Linux不像Windows以文件的后缀来区分文件类型,但是要注意Linux上的软件需要后缀来区别文件类型。
d:文件夹
-:普通文件
l:软链接(类似Windows的快捷方式)
b:块设备文件(例如硬盘、光驱等)
p:管道文件
c:字符设备文件(例如屏幕等串口设备)
s:套接口文件
对于文件来说权限是用来限制用户对自己的操作的,而文件自己一般只有三个操作:
读(read):具有读取文件内容的权限限。
写(write): 具有修改文件内容的权限的权限。
执行(execute):具有执行文件的权限。
这个比较好理解,但是要注意对于一个目录文件来说又有点不一样了,虽然有也是同样的三个操作,但是效果不一样。
读(read):查看目录下的文件列表的权限。
写(write): 具有删除移动目录内文件和创建文件的权限 。
执行(execute):具有进入目录的权限。
三、访问文件的用户的权限
对于一个文件来说能访问它的用户大致分为三种: 拥有者(owner)、所属组(grp)、其他(other)
拥有者(owner):文件和文件目录的所有者。
所属组(group):文件和文件目录的所有者所在的组的用户。
其它用户(other):不属于上面的两个。
打印文件的信息可以看到, 对应用户的访问权限,三三一组,顺序对应owner,group,other。
比如这里第一个文件,表示拥有者只有读和写的权限,并没有执行的权限。其他用户什么权限都没有。
PS:这里rwx的顺序是固定的,每个位置表示的就 读、写、执行有就是有,没有用 — 表示。
使用 LL 命令能直接再第三列和四列,看到文件的拥有者和所属组,而不属于这两个的就是other。
四、修改文件的访问权限
由于权限是可以限制人也可以限制文件的,所以修改文件的访问权限,要么修改用户的权限,要么修改文件的属性。
更改文件属性:
指令:chmod 设置文件的访问权限。
+:增加权限
-:取消权限
u:拥有者
g:拥有者同组用
o:其它用户
a:所有用户
使用比较简单,除了这种方法还有一个方式,这里可以把有权限当做1,没权限为0,那么三个二进制就是一个8进制。
三个8进制数赋权限,那么这里最大的权限是777,最小的是000。
不过我觉的这个不是特别好用,还要计算8进制,不过要知道有这么个东西存在。
更改文件所属者和拥有者:
更改拥有者和所属组要提高权限,要么使用root权限,要么使用sudo指令,不过这个指令要添加到配置文件才能使用。(文件拥有者也可以改,但是拥有者把拥有者改了,感觉很怪,结果还是要提高权限)
指令:chown(更改拥有者)、chgrp(更改所属组)