Linux权限、用户组、用户

前提

这里以Centos7为例。
首先进入 / 目录,并输入 ls -l 。

cd /
ls -l

Linux权限、用户组、用户_第1张图片

分析

根据上图我们拿其中一条来说:

drwxr-xr-x  14 root root  3440 Aug 14 07:31 dev

第一个字母 d 代表这个文件的含义:
-:普通文件
d :目录文件
l:链接文件
b:块设备文件
c:字符设备文件
p:管道文件

第一个字母之后有9个字母,这里要以三个为一组分开看。
Linux权限授权,默认是授权给三种角色,分别是user(用户)、group(组)、other(其他人)。
所以9个字母从左开始三个为一组分别代表授权给三种角色 U、G、O的权限。

然后一组权限有三种:如果某一种用 - 代替,则代表无此权限。

r(读取) 可读取文件内容 可列出目录内容
w(写入) 可修改文件内容 可在目录中创建删除内容
x(执行) 可作为命令执行 可访问目录内容

分析上面得知 U、G、O的三种角色的权限为:
U: rwx
G: r-x
O: r-x

9个字母之后的数字 14 ,代表文件夹中链接文件的数量。
从左到右,第一个root表示该用户名(U),第二个root则为组名(G),其他人角色默认不显示(O)
用户名和组名之后的数字 3440 表示该文件夹占据的字节数。
再之后就是创建修改时间和文件名。

权限操作

先回到 / 目录 ,并创建一个 abc.txt文件,然后查看该文件的权限。

cd /
touch abc.txt
ls abc.txt -l

在这里插入图片描述
可以看到UGO各权限分别为:
U:rw-
G:r–
O:r–

这里先上一张图:
Linux权限、用户组、用户_第2张图片
然后我们执行修改权限的语句,并查看:

# -R的作用是修改文件夹时会递归修改其中的文件和文件夹的权限
chmod -R 777 abc.txt
ls abc.txt -l

在这里插入图片描述
可以看到权限已经和之前不同了,这与那三个数字777有关,从左到右分别代表U、G、O。修改权限就是这么简单。

用户组操作

还是以刚刚那个 abc.txt 文件为例,之前用户组是 root 。
修改该文件所属用户组为 liuyangroup ,并查看。

chgrp -R liuyangroup abc.txt
#如果提示没有此用户组,需添加用户组,添加删除命令如下:
#添加: groupadd liuyangroup
#删除: groupdel liuyangroup

ls abc.txt -l

在这里插入图片描述
可以看到用户组已经改变。

用户操作

还是以刚刚的 abc.txt 文件为例,之前该文件的所属用户为 root。
现在我们把所属用户改为 liuyan,并查看。

chown liuyan abc.txt
#如果提示没有此用户,需添加用户,添加删除命令如下:
#用户虽然可以属于不同的组,但是所有用户的名字都是唯一的
# -m自动创建用户目录,-g指定用户所在的组,否则会建立一个同名的组
#添加: useradd -m -g root liuyanroot
#添加: useradd -m -g liuyangroup liuyan
#删除: userdel -r liuyan   (-r会自动删除用户家目录)

ls abc.txt -l

Linux权限、用户组、用户_第3张图片
可以看到用户已经发生改变,用户不一定要属于该组,也可以属于别的组。

你可能感兴趣的:(Linux)