Linux命令进阶·如何修改文件和文件夹权限(chomd命令的使用)、如何修改用户和用户组(chown命令的使用)

Linux命令进阶·如何修改文件和文件夹权限(chomd命令的使用)、如何修改用户和用户组(chown命令的使用)

目录

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博客

相关推荐

10 年使用的 2025 个最佳语音助手
BET体育365投注官网

10 年使用的 2025 个最佳语音助手

08-13 👁️ 7012
100幅国画狗,太美了~(附教程)
下载旧版本彩票365软件

100幅国画狗,太美了~(附教程)

09-09 👁️ 4554
欧洲足球博彩真能发大财?这里面水很深
BET体育365投注官网

欧洲足球博彩真能发大财?这里面水很深

07-15 👁️ 2120