06、Linux 权限管理
一、为什么要管理 linux 权限?
Ubuntu 是一个支持多用户的操作系统,我们可以给不同的使用者创建各种账号,每个使用者有自己的账号来登录,好处就是可以很好地管理每个用户,我们也可以控制每个用户对系统权限的访问。我们在安装 ubuntu 的时候,我们创建的是名为 topeet 的用户,我们登录 ubuntu 时也是用的这个账号,登录ubuntu ,一般会进到这个用户的家目录,所以我这里是处在 topeet 这个用户的家目录下,此时我们可以在这个目录下创建和修改文件。
初次创建的用户要比普通用户有更多的权限。我们作为嵌入式开发人员,系统的所有权限都要为我们打开,这也就是之前为什么没有给大家着重的介绍添加用户命令和删除用户命令,因为我们一般都是自己一个人在用,我们不会给别人来使用我们的 ubuntu 系统,因为我们初次创建的用户要比普通用户有更多的权限,也就是说,我们现在是处在我们初次创建的用户这个状态下。我们也不能随便的在根目录下乱删东西,我们进到根目录,在这个目录下,我们不能随便使用 rm -rf 命令,虽然说我现在的是普通用户,但是我们也不能随便乱删,如果乱删了的话可能系统估计就会崩溃了。
Ubuntu 的用户分为三类:
root(超级用户)
系统初次创建的用户表,比如 topeet
安装完系统之后创建的用户
用户的信息全部被保存在 /etc/passwd 文件里面
我们看这个文件,可以看到每个用户都有两组数据,比如说 topeet,它的第一组数据为 1000 ,第一个 1000 代表的用户的 uid ,第二个代表的是用户的 gid ,ubuntu 里通过用户组来划分不同的用户,而每个用户通过 uid 来区分,我们了解下就可以了。如下图所示。
二、Ubuntu 的文件权限
比如说我们使用 ls -l 命令,对于文件一般有三个权限,读权限 r ,写权限 w ,执行权限 x 。
9 个英文字符划分成三组,每三个字母为一组
第一组: rw- 文件拥有者的权限 topeet 用户对 myfile 有 rw 权限,没有执行权限。
第二组: rw- 文件拥有者所在用户组的权限与 topeet 文件拥有者所在 topeet 组的用户可以读写,但是不能执行。
第三组: r-- 其他用户的权限 不与文件拥有者在同一个组的用户权限是只能读,不能写和执行
第三列: topeet 代表文件拥有者
第四列:topeet 文件拥有者所在的组
文件的权限不仅可以用字母来表示,也可以使用二进制来表示,
因为我们每个文件的权限是由 9 位来表示的,每 3 位为一组,这样我们就可以组合成 8 种不同的情况,
文件的权限是对应的十进制数,也就是每个权限的位相加的结果,比如说可读可写可执行,就是 rwx 权限,用十进制来表示就是 4+2+1=7 ,
rw- 6 4+2=6
rw- 6 4+2=6
r-- 4 4+0+0=4
664 为 myfile 文件的权限
三、chmod 命令
功能:修改文件或者文件夹的权限
chmod 参数 权限 文件名
给 myfile 文件一个 777 的权限,使用
chmod 777 myfile.c