基于迅为IMX6ULL开发板2.9 Linux 用户权限 用户权限
2.9.1 用户组及用户
Ubuntu 是一个支持多用户的操作系统。我们可以给不同的使用着创建各自的账号,每个用户使用自己
的账号来登陆。这样的好处是可以很好的管理每个用户,以及控制每个用户对系统的访问权限。
我们在安装 Ubuntu 系统的时候创建了一个名为“topeet”的用户,而且我们登录 Ubuntu 系统的时候
也是用的这个账户,登录到 Ubuntu 系统,会动进入到用户根目录下“/home/topeet”, 此时我们可以在该
目录下创建,修改删除文件。当然如果后面我们在创建其它的用户,Ubuntu 系统相应的也会在“/home”目
录下建立对应用户的根目录。
Ubuntu 系统下的用户可以分为下面的 3 中类型:
t root 用户(系统的超级用户,具有最高的权限)
初次创建的用户(此用户比普通用户有更多的权限)
普通用户(安装完系统以后被创建的用户)
用户的相关信息保存在“/etc/passwd”文件中,如下图所示:
从上图中,我们可以看到每个用户都会有两组数据,比如我们登录的用户 topeet,他的两组数据是:
1000:1000,第一个 1000 是用户的 UID,第二个是用户组的 GID,Ubuntu 里面通过用户组来划分不同的用户,
而每个用户又通过用户 UID 来区分。
2.9.2 文件权限管理
我们前面说过 Ubuntu 系统下用户的权限,除了用户权限,Ubuntu 下的文件有有自己的权限限制。对于
一个文件通常有三种权限:读权限(r)、写权限(w)、执行权限(x)。我们可以使用“ls -l”命令查
看某个目录下的所有文件的信息,包括权限信息,如下图所示:
我们以图 2.9.2.1 中的 myfile 文件为例,来看一下文件的权限,如下图所示:
上图的第一列“-rw-rw-r”表示文件权限与用户权限用户和用户组之前的关系,第一位表示文件类型,
剩下的 9 位划分成 3 位为一组,分别表示文件拥有者的权限,文件拥有者所在用户组的权限,其它用户的
权限。图 2.9.2.2 中的第三列和第四列“topeet topeet”代表文件拥有者,文件拥有着所在的组,所以 myfile
的权限可以解析成:myfile 文件的拥有者是 topeet,topeet 用户对文件具有读写(rw)的权限;topeet
用户所在的组是 topeet(图 2.9.2.2 中的第四列),改组内的其它用户对没有 file 文件具有读写(rw)的
权限;其它用户对 myfile 具有读(r)的权限。
对于文件,读(r)权限表示可以查看文件,写(w)权限表示可以对文件内容进行修改,执行(x)权限表
示可以在终端运行该文件。
前面我们说到文件的权限有三种分别用:r(读),w(写),x(执行)来表示,除了用人,w,x 表示,Ubuntu
还可以使用二进制数据来表示。三种权限(r,w,x)可以用三位二进制数表示,如表所示:
前我们我们讲过每个文件的权限由 9 位表示,每三位为一组,这样可以可以组合出 8 种情况,如下表所示
上面表格中权限所对应的十进制数就是每个权限位相加的结果,比如 rwx 权限组合用十进制表示就是
4+2+1=7,所以图 2.9.2.2 中的 myfile 权限“rw-rw-r--”,用十进制表示就是:4+2+0 4+2+0 4+0+0,也
就是:664。
2.9.3 权限管理命令
权限修改命令 chmod
chmod 命令用于修改文件或者文件夹的权限,其命令格式如下:
chmod [参数] 权限 [文件名]
主要参数说明:
-R 递归更改文件和目录
-v 为每个处理的文件输出诊断信息
-c 类似于详细但仅在进行更改时报告
--help 先是帮助和退出
--version 输出版本信息和退出
下面我们来学习下 chmod 命令的使用,首先在用户根目录下创建文件“myfile”文件,然后查看下默
认的权限,如下图所示:
我们可以看到 myfile 默认的权限是“rw-rw-r--”,我们将其权限修改为“rwxrwxr-x”,对应的数字
是 775,运行结果如下图所示:
通过上图可以看到 myfile 的文件权限已经修改为我们期望的“rwxrwxr-x”了,关于 chmod 更详细的
使用大家可以去网上找下相关的文档。
修改文件拥有者命令 chown
chown 将指定文件的拥有者改为指定的用户或组,用户可以是用户名或者用户 ID;组可以是组名或者组 ID,
其命令格式如下:
chown [参数] [用户名:<组名>] [文件名/目录]
其中的[用户名:<组名>]标识将文件或目录修改成的用户和用户组,用户名和组名之间用:隔开,参数说明
如下:
-c 显示更改的部分的信息
-f 忽略错误信息
-h 修复符号链接
-R 处理指定目录以及其子目录下的所有文件
-v 显示详细的处理信息
下面我们演示一下 chown 命令的用法,首先我们在用户根目录下创建“myfile”文件,然后查看其所
属的用户和组,如下图所示:
我们在上图中可以看到 myfile 文件所属的用户是 topeet,所属的组是 topeet。然后我们使用 chown
命令将 myfile 文件的所属用户修改为 root,所属的组也修改为 root,如下图所示:
我们可以在上图中看到 myfile 文件的所属用户已经修改成 root 了,所属组也修改成了 root 了。
|