i.MX8MM处理器采用了先进的14LPCFinFET工艺,提供更快的速度和更高的电源效率;四核Cortex-A53,单核Cortex-M4,多达五个内核 ,主频高达1.8GHz,2G DDR4内存、8G EMMC存储。千兆工业级以太网、MIPI-DSI、USB HOST、WIFI/BT、4G模块、CAN、RS485等接口一应俱全。H264、VP8视频硬编码,H.264、H.265、VP8、VP9视频硬解码,并提供相关历程,支持8路PDM接口、5路SAI接口、2路Speaker。系统支持Android9.0(支持获取root限)Linux4.14.78+Qt5.10.1、Yocto、Ubuntu20、Debian9系统。适用于智能充电桩,物联网,工业控制,医疗,智能交通等,可用于任何通用工业和物联网应用、
【公众号】迅为电子
【粉丝群】258811263(加群获取驱动文档+例程)
第十二章 Linux 权限管理
本章内容对应视频讲解链接(在线观看):
Linux 权限管理 → https://www.bilibili.com/video/BV1M7411m7wT?p=12
12.1 Ubuntu的文件权限
Ubuntu 是一个支持多用户的操作系统,我们可以给不同的使用者创建各种账号,每个使用者有自己的账号来登录,好处就是可以很好地管理每个用户,我们也可以控制每个用户对系统权限的访问。我们在安装ubuntu的时候,创建的是名为 topeet 的用户,登录 ubuntu 时也是用的这个账号,登录 ubuntu 一般会进到这个用户的家目录,所以我这里是处在 topeet 这个用户的家目录下,此时我们可以在这个目录下创建和修改文件。
初次创建的用户要比普通用户有更多的权限。我们作为嵌入式开发人员,系统的所有权限都要为我们打开,这也就是之前为什么没有给大家着重的介绍添加用户命令和删除用户命令,因为我们一般都是自己一个人在用,我们不会给别人来使用我们的 ubuntu 系统。我们初次创建的用户要比普通用户有更多的权限,也就是说,现在是处在我们初次创建的用户这个状态下,也不能随便的在根目录下乱删东西,我们进到根目录,在这个目录下,不能随便使用 rm -rf 命令,虽然说我现在的是普通用户,但是我们也不能随便乱删,如果乱删了的话可能系统就会崩溃了。
Ubuntu 的用户分为三类:
1 root(超级用户)
2 系统初次创建的用户表,比如 topeet
3 安装完系统之后创建的用户
用户的信息全部被保存在 /etc/passwd 文件里面
我们看这个文件,可以看到每个用户都有两组数据,比如说topeet,它的第一组数据为 1000 ,第一个 1000代表的用户的 uid ,第二个代表的是用户的 gid ,ubuntu里通过用户组来划分不同的用户,而每个用户通过uid 来区分,我们了解下就可以了。如下图所示。
比如说我们使用 ls -l 命令,对于文件一般有三个权限,读权限 r ,写权限 w ,执行权限 x 。
9个英文字符划分成三组,每三个字母为一组
第一组 | rw- 文件拥有者的权限 | topeet用户对myfile 有rw 权限,没有执行权限。 |
第二组 | rw- 文件拥有者所在用户组的权限 | 与topeet 文件拥有者所在 topeet 组的用户可以读写,但是不能执行。 |
第三组 | r-- 其他用户的权限 | 不与文件拥有者在同一个组的用户权限是只能读,不能写和执行 |
第三列: topeet 代表文件拥有者
第四列:topeet文件拥有者所在的组
文件的权限不仅可以用字母来表示,也可以使用二进制来表示,
字母 | 二进制 | 十进制 |
r | 100 | 4 |
w | 010 | 2 |
x | 001 | 1 |
因为我们每个文件的权限是由9位来表示的,每3位为一组,这样我们就可以组合成8 种不同的情况,
权限 | 二进制 | 十进制 | |
第一种组合 | --- | 000 | 0 |
第二种组合 | --x | 001 | 1 |
第三种组合 | r-- | 100 | 4 |
第四种组合 | -w- | 010 | 2 |
第五种组合 | -wx | 011 | 3 |
第六种组合 | r-x | 101 | 5 |
第七种组合 | rw- | 110 | 6 |
第八种组合 | rwx | 111 | 7 |
文件的权限用对应的十进制数表示,也就是每个权限的位相加的结果,比如说可读可写可执行,就是 rwx权限,用十进制来表示就是 4+2+1=7。
rw- | 6 | 4+2=6 |
rw- | 6 | 4+2=6 |
r-- | 4 | 4+0+0=4 |
664 为 myfile 文件的权限
12.2 chmod 命令
功能:修改文件或者文件夹的权限
chmod 参数 权限 文件名
给 myfile文件一个777 的权限,使用
chmod 777 myfile.c