目录
1. 认知权限信息
1.1 文件、文件夹的权限控制信息
1.2 文件、文件夹所属用户
1.3 文件、文件夹所属用户组
2. chmod命令
2.1 修改文件的权限信息
2.2 修改文件夹的权限信息
2.3 权限的数字序号
3. chown命令
3.1 修改用户
3.2 修改用户组
3.3 同时修改用户和用户组
3.4 对文件夹进行修改
1. 认知权限信息
通过 ls -l 可以以列表的形式查看内容,并显示权限细节。
1.1 文件、文件夹的权限控制信息
我们可以细数一下圈住的部分,一条有十个槽位:
拓展:rwx
r 表示读权限。
w 表示写权限。
x 表示执行权限。
针对文件、文件夹的不同,rwx的含义有细微的差别
r,针对文件可以查看文件内容
针对文件夹可以查看文件夹内容,如ls命令
w,针对文件表示可以修改文件
针对文件夹,可以再文件夹内:创建、删除、改名等操作
x,表示文件可以将文件作为程序执行
针对文件夹,表示可以更改工作目录到此文件夹,即cd进入
举例:drwxr-xr-x,表示:
这是一个文件夹,首字母是d。
所属用户的权限是rwx,表示可读可写可执行。
所属用户组的权限是r-x,表示可读可执行。(-表示没有该权限)
其他用户的权限是r-x,表示可读可执行。
1.2 文件、文件夹所属用户
1.3 文件、文件夹所属用户组
2. chmod命令
我们可以使用 chomd 命令,修改文件、文件夹的权限信息。
注意,只有文件、文件夹的所属用户或者 root 用户可以修改。
语法:
chomd [-R] 权限 文件或文件夹
选项:-R,对文件夹内的全部内容应用同样的操作
2.1 修改文件的权限信息
首先我们先创建一个文件和文件夹,并通过 ls -l 查看他们的属性:
输入:
chmod u=rwx,g=r,o=w hello.txt
其中:
u表示user所属用户权限
g表示group组权限
o表示other其他用户权限
如下可以发现 hello.txt 的权限被修改:
2.2 修改文件夹的权限信息
在创建一个 test.txt ,将其和 hello.txt 都存放到 test 文件夹内:
输入:
chmod u=r,g=w,o=x test
可以发现权限被修改:
不过需要注意这里只是修改了文件夹的权限,其内部文件的权限并没有被修改:
这时如果我们想要更改其内部文件或文件夹的权限,可以使用 -R 例如:
chmod -R u=rwx,g=rwx,o=rwx test
2.3 权限的数字序号
前面我们也发现,每次修改权限都需要写许多的权限,那么能不能简短一些呢?权限可以用3为数字来表示,第一位数字表示用户权限,第二位表示用户组权限,第三位表示其他用户权限。
对于每一位,我们可以理解为他是一个3位的二进制数,想要有什么权限,就让哪一位置1,那么:
r 可以理解为二进制的100,也就是4;
w 可以理解为二进制的010,也就是2;
x 可以理解为二进制的001,也就是1;
- 可以理解为二进制的000,也就是0;
这样就有了:
0:000,无任何权限,即 ---;
1:001,仅有x的权限,即--x;
2:010,仅有w的权限,即-w-;
3:011,有w和x的权限,即-wx;
4:100,仅有r的权限,即r--;
5:101,有r和x的权限,即r-x;
6:110,有r和w的权限,即rw-;
7:111,有全部权限,即rwx;
举个例子:
例如我们将其更改为751,也就是rwxr-x--x,我们可以看到,权限被修改了:
3. chown命令
chown命令,可以修改文件、文件夹的所属用户和用户组。
注意,普通用户无法修改所属为其他用户或组,所以此命令只适用于root用户执行。
语法: chown [-R] [用户][:][用户组] 文件或文件夹
选项,-R,同chmod,对文件夹内全部内容应用相同规则选项,用户,修改所属用户选项,用户组,修改所属用户组:用于分隔用户和用户组
3.1 修改用户
举例:chown root hello.txt,将hello.txt所属用户修改为root
首先,我们先不进入root用户,就只是普通用户修改一下:
可以看到不允许,这是为什么呢?我们可以将两个用户看做两个人,dky只是一个普通人想要把hello.txt给root(或者其他的用户),但是你想给,别人不一定想收,但是我们可以通过root进行强制给别人,管你先不想要,给你你就拿着。
我们先进入root用户:
找到home目录下的dky用户,找到hello.txt文件可以看到它的用户是dky:
输入:
chown root hello.txt
可以看到 hello.txt 的用户被更改了:
3.2 修改用户组
举例:chown :root hello.txt,将hello.txt所属用户组修改为root
可以发现其用户组被修改:
3.3 同时修改用户和用户组
举例:chown dky:dky hello.txt,将hello.txt所属用户修改为dky,用户组修改为dky
可以发现,用户和用户组都被修改:
3.4 对文件夹进行修改
举例:chown -R root:root test,将文件夹test的所属用户修改为root,所属用户组修改为root,并对文件夹内全部内容应用同样规则
该规则同样适用于修改单个:
Linux命令进阶·如何切换root以及回退、sudo命令、用户/用户组管理,getent命令以及解决创建用户不显示问题和Ubuntu不显示用户名只显示“$“符号问题-CSDN博客
Linux学习_时光の尘的博客-CSDN博客