Linux修改文件和目录权限——chmod、chown、chgrp命令总结

Linux文件 / 目录高级管理

Linux文件权限修改

Linux系统中的每个文件都有访问许可权限,文件的访问权限分为只读,只写和可执行三种。

只读权限表示只允许读其内容,而禁止对其做任何的更改操作。

只写权限表示允许修改文件的内容。

可执行权限表示允许将该文件作为一个程序执行。

每一文件的访问权限都有三组,每组用三位表示,分别为文件所属主的读、写和执行权限;与属主同组的用户的读、写和执行权限;系统中其他用户的读、写和执行权限。

当用ls -lll命令显示文件的详细信息时,最左边的一列为文件的访问权限。例如显示test文件详细信息:

img

Linux修改文件权限命令

Linux中使用chmod命令来修改文件权限。

文字设定法具体命令如下:

chmod [who] [+ | - | =] [mode] 文件名

who参数如下:

  • u 表示“用户(user)”,即文件或目录的所有者;
  • g 表示“同组(group)用户”,即与文件属主有相同组ID的所有用户;
  • o 表示“其他(others)用户”;
  • a 表示“所有(all)用户”,它是系统默认值。

操作符如下:

  • +:添加某个权限;
  • -:取消某个权限;
  • =:赋予给定权限并取消其他所有权限。

mode参数如下:

  • r 可读;
  • w 可写;
  • x 可执行。

数字设定法具体命令如下:

chmod [mode] 文件名

mode为具体的数字。

首先了解用数字表示的属性的含义:0表示没有权限,1表示可执行权限,2表示可写权限,4表示可读权限,然后将其相加。所以数字属性的格式应为3个从07的八进制数,其顺序是ugo

实例一:

将文件testFile的所有权限设置为仅读权限,可以使用如下命令:

chmod a=r testFile

img

实例二:

将文件testFile的所有权限设置为可读可写,同组用户权限设置为只读,可以使用如下命令:

chmod u=rw,g=r testFile

img

实例三:

将文件testFile的权限设置为所有者可读可写可执行,同组用户设置为可读可执行,其他用户设置为可读,可以使用如下命令:

chmod 754 testFile

img

Linux修改所有者权限

linux使用chmod u+/-/=命令来设置文件所有者的权限。

具体命令如下:

chmod u [+ | - | =] [mode] 文件名

操作符如下:

  • +:添加某个权限;
  • -:取消某个权限;
  • =:赋予给定权限并取消其他所有权限。

mode参数如下:

  • r 可读;
  • w 可写;
  • x 可执行。

实例一:

将文件testFile的所有者权限设置为仅读权限,可以使用如下命令:

chmod u=r testFile

img

实例二:

给文件testFile的所有者权限添加可执行权限,可以使用如下命令:

chmod u+x testFile

img

Linux修改同组用户权限

Linux修改同组用户权限的方法与修改所有者的权限大致一样,唯一不同的点是修改同组用户权限采用chmod g而不是采用chmod u

实例一:

将文件testFile的同组用户权限设置为仅读权限,可以使用如下命令:

chmod g=r testFile

img

实例二:

给文件testFile的同组用户权限添加可执行权限,可以使用如下命令:

chmod g+x testFile

img)

Linux修改其他用户权限

Linux修改其他组用户权限的方法与修改所有者的权限大致一样,唯一不同的点是修改其他组用户权限采用chmod o而不是采用chmod u

实例一:

将文件testFile的其他组用户权限设置为仅读权限,可以使用如下命令:

chmod o=r testFile

img)

实例二:

给文件testFile的其他组用户权限添加可执行权限,可以使用如下命令:

chmod o+x testFile

img)

实例

\#!/bin/bash



\#在以下部分写出完成任务的命令

\#***********begin*************#

\# 将系统已存在文件oldFile1的所有者权限设置为可执行;

chmod u=x oldFile1

\# 为系统已存在文件oldFile2的同组用户权限删除可写权限;

chmod g-w oldFile2

\# 为系统已存在文件oldFile3的其他组用户权限添加可执行权限;

chmod o+x oldFile3

\# 将系统已存在文件oldFile4的权限设置所有者权限为可读,

\# 同组用户权限为可写,其他用户权限为可执行;

chmod u=r,g=w,o=x oldFile4

\#************end**************#

Linux目录权限修改

Linux系统中的每个目录都有访问许可权限,目录的权限和文件的权限类似,目录的访问权限也分为只读,只写和可进入三种。

只读权限表示允许浏览其内容。

只写权限表示允许在目录下新创建文件或目录。

可进入权限表示允许使用cd命令进入到该目录下。

每一目录的访问权限都有三组,每组用三位表示,分别为所有者权限、同组用户权限和其他用户权限。

当用ls -l命令显示目录的详细信息时,最左边的一列为目录的访问权限。例如显示当前目录下的test目录详细信息可以使用如下命令:

ls -l .

img

Linux修改目录权限命令

Linux中使用chmod命令来修改目录权限。

文字设定法具体命令如下:

chmod 参数 [who] [+ | - | =] [mode] 目录名

常用参数如下:

  • -R或——recursive:递归处理,将指令目录下的所有文件及子目录一并处理。

who参数如下:

  • u 表示“用户(user)”,即文件或目录的所有者;
  • g 表示“同组(group)用户”,即与文件属主有相同组ID的所有用户;
  • o 表示“其他(others)用户”;
  • a 表示“所有(all)用户”,它是系统默认值。

操作符如下:

  • +:添加某个权限;
  • -:取消某个权限;
  • =:赋予给定权限并取消其他所有权限。

mode参数如下:

  • r 可读;
  • w 可写;
  • x 可执行。

数字设定法具体命令如下:

chmod [mode] 文件名

mode为具体的数字。

首先了解用数字表示的属性的含义:0表示没有权限,1表示可进入权限,2表示可写权限,4表示可读权限,然后将其相加。所以数字属性的格式应为3个从07的八进制数,其顺序是ugo

实例一:

将目录testDir的所有权限设置为仅读权限,可以使用如下命令:

chmod a=r testDir

img

此时testDir目录只能被用户所读,而不能进行其他的任何操作。

img

实例二:

将目录testDir的所有权限设置为可读可写,同组用户权限设置为只读,可以使用如下命令:

chmod u=rw,g=r testDir

imgimg

[请在右侧“命令行”里直接体验]

此时testDir目录有写权限,但是还是无法创建新文件,原因是目录中的写权限(w)必须与执行权限(x)配合才能创建和删除目录下的内容。

实例三:

将目录testDir的权限设置为所有者可读可写可执行,同组用户设置为可读可执行,其他用户设置为可读可执行,可以使用如下命令:

chmod 755 testDir

此时,用户可以向testDir目录添加新文件和删除已有文件。

img

Linux修改所有者权限

linux使用chmod u+/-/=命令来设置目录所有者的权限。

具体命令如下:

chmod u [+ | - | =] [mode] 目录名

操作符如下:

操作符如下:

  • +:添加某个权限;
  • -:取消某个权限;
  • =:赋予给定权限并取消其他所有权限。

mode参数如下:

  • r 可读;
  • w 可写;
  • x 可执行。

实例一:

将目录testDir的所有者权限设置为可读可写可执行,可以使用如下命令:

chmod u=rwx testDir

img

实例二:

将目录testDir的所有者权限添加可执行权限,同时递归的将该目录下的所有文件或目录都添加可执行权限,可以使用如下命令:

chmod -R u+x testDir

img

Linux修改同组用户权限

Linux修改同组用户权限的方法与修改所有者的权限大致一样,唯一不同的点是修改同组用户权限采用chmod g而不是采用chmod u

实例一:

将目录testDir的同组其他用户权限设置为可读可写可执行,可以使用如下命令:

chmod g=rwx testDir

img

实例二:

将目录testDir的同组其他用户权限添加可执行权限,同时递归的将该目录下的所有文件或目录都添加可执行权限,可以使用如下命令:

chmod -R g+x testDir

img

Linux修改其他用户权限

Linux修改其他组用户权限的方法与修改所有者的权限大致一样,唯一不同的点是修改其他组用户权限采用chmod o而不是采用chmod u

实例一:

将目录testDir的其他组用户权限设置为可读可写可执行,可以使用如下命令:

chmod o=rwx testDir

img

实例二:

将目录testDir的其他组用户权限添加可执行权限,同时递归的将该目录下的所有文件或目录都添加可执行权限,可以使用如下命令:

chmod -R o+x testDir

img

实例

\#***********begin*************#

\# 将系统已存在目录oldDir1的所有者权限设置为可执行;

chmod u=x oldDir1

\# 为系统已存在目录oldDir2的同组用户权限删除可写权限;

chmod g-w oldDir2

\# 为系统已存在目录oldDir3的其他组用户权限添加可执行权限;

chmod o+x oldDir3

\# 将系统已存在目录oldDir4的权限设置所有者权限为可读,

\# 同组用户权限为可写,其他用户权限为可执行;

chmod u=r,g=w,o=x oldDir4

\# 将系统已存在目录oldDir5的权限设置所有者权限为可读,

\# 同组用户权限为可写,其他用户权限为可执行,同时将该目录下的所有子目录或文件权限一并处理。

chmod -R u=r,g=w,o=x oldDir5

\#************end**************#

Linux修改文件 / 目录所有者

Linux系统中的每个文件/目录皆有其拥有者(Owner)。我们知道只有用户登录到系统后才可以在系统上创建文件或目录,而文件/目录的所有者即是创建该文件/目录的用户。

当用ls -lll命令显示文件的详细信息时,第三列数据表示该文件的所有者。例如显示test文件所有者信息:

img

可以看到test文件的所有者是fzm,因为test文件是由fzm用户所创建。

Linux修改文件所有者命令

Linux中使用chown命令来修改文件所有者。

具体命令如下:

chown 用户名/用户ID 文件名

执行权限:

chown必须以root权限才能执行,如果是普通用户想执行chown时,需要在命令前加sudo命令来提升权限为root权限。

实例一:

首先创建一个新用户newUser,然后将系统中已存在的文件testFile的所有者设置为newUser,可以使用如下命令:

sudo useradd newUser` `sudo chown newUser testFile

img

实例二:

首先查看用户fzm的ID是多少,然后将系统中已存在的文件testFile的所有者设置为fzm,可以使用如下命令:

id fzm` `sudo chown 1000 testFile

img

Linux修改目录所有者命令

Linux中使用chown命令来修改目录所有者。

具体命令如下:

chown 参数 用户名/用户ID 目录名

常见命令参数:

  • -R或——recursive:递归处理,将指定目录下的所有文件及子目录一并处理;
  • --help:在线帮助;

执行权限

chown必须以root权限才能执行,如果是普通用户想执行chown时,需要在命令前加sudo命令来提升权限为root权限。

实例一:

将系统中已存在的目录testDir的所有者设置为newUser,可以使用如下命令:

sudo chown newUser testDir

img

可以使用ls -lll命令查看目录所有者是否修改成功。

img

实例二:

将系统中已存在的目录Dir以及其所有子目录和子文件的所有者设置为newUser,可以使用如下命令:

sudo chown -R newUser Dir

img

可以看到Dir目录下的所有子目录和子文件的所有者都已经修改成了newUser

实例

\#!/bin/bash



\#在以下部分写出完成任务的命令

\#***********begin*************#

\# 将系统已存在文件oldFile的所有者设置为oldUser;

chown oldUser oldFile

\# 将系统已存在目录oldDir1的所有者设置为oldUser;

chown oldUser oldDir1

\# 将系统已存在目录oldDir2以及其所有子目录和子文件的所有者设置为oldUser。

chown -R oldUser oldDir2

\#************end**************#

Linux文件 / 目录所属组修改

Linux系统中的每个文件/目录皆有其所属组。默认在创建文件和目录的时候,将其所有者所在的所属组作为新创建文件或目录的所属组。

当用ls -lll命令显示文件的详细信息时,第四列数据表示该文件的所有者。例如显示test文件所有者信息:

img

可以看到test文件的所属组是fzm,因为test文件是由fzm用户所创建,而fzm用户创建test文件的时候其所属组是fzm

Linux修改文件所属组命令

Linux中使用chgrp命令来修改文件所属组。

具体命令如下:

chgrp 用户组名/组ID 文件名

执行权限

chgrp必须以root权限才能执行,如果是普通用户想执行chgrp时,需要在命令前加sudo命令来提升权限为root权限。

实例一:

首先创建一个新用户组newGroup,然后将系统中已存在的文件testFile的所属组设置为newGroup,可以使用如下命令:

sudo groupadd newGroup` `sudo chgrp newGroup testFile

img

实例二:

首先通过/etc/group查看用户组fzmID是多少,然后将系统中已存在的文件testFile的所属组设置为fzm,可以使用如下命令:

cat /etc/group | grep fzm` `sudo chgrp 1000 testFile

img

linux中也可以使用chown命令来修改文件的所属组。

具体命令如下:

chown:用户组名/组ID 文件名

如果用户想使用chown命令同时修改所有者和所属组信息,则可以使用如下:

chown 用户名/用户名ID:用户组名/组ID 文件名

执行权限

chgrp必须以root权限才能执行,如果是普通用户想执行chgrp时,需要在命令前加sudo命令来提升权限为root权限。

实例一:

使用chown命令将系统已存在的文件testFile的所属组设置newGroup,可以使用如下命令:

sudo chown :newGroup testFile

img

实例二:

使用chown命令将系统已存在的文件testFile的所有者设置为newUser所属组设置为fzm,可以使用如下命令:

sudo chown newUser:fzm testFile

img

Linux修改目录所属组命令

Linux中使用chgrp命令来修改目录所属组。

具体命令如下:

chgrp 参数 用户组名/组ID 目录名

常见命令参数:

  • -R或——recursive:递归处理,将指定目录下的所有文件及子目录一并处理;
  • --help:在线帮助;

执行权限

chgrp必须以root权限才能执行,如果是普通用户想执行chgrp时,需要在命令前加sudo命令来提升权限为root权限。

实例一:

将系统中已存在的目录testDir的所属组设置为newGroup,可以使用如下命令:

sudo chgrp newGroup testDir

img

实例二:

将系统中已存在的目录Dir以及其所有子目录和子文件的所属组设置为newGroup,可以使用如下命令:

sudo chgrp -R newGroup Dir

img

linux中也可以使用chown命令来修改目录的所属组,其使用方法与修改文件的使用方法一致。

实例一:

使用chown命令将系统已存在的文件Dir以及其所有子目录和子文件的所有者设置为fzm所属组设置为fzm,可以使用如下命令:

sudo chown -R fzm:fzm Dir

img

实例

\#!/bin/bash



\#在以下部分写出完成任务的命令

\#***********begin*************#

\# 将系统已存在文件oldFile的所属组设置为oldGroup;

chgrp oldGroup oldFile

\# 将系统已存在目录oldDir1的所属组设置为oldGroup;

chgrp oldGroup oldDir1

\# 将系统已存在目录oldDir2以及其所有子目录和子文件的所属组设置为oldGroup。

chgrp -R oldGroup oldDir2

\#************end**************#
  • 5
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
<h3>回答1:</h3><br/>chmodchownchgrpLinux系统中常用的三个命令,它们的作用分别是修改文件目录权限、所有者和所属组。 其中,chmod命令用于修改文件目录权限,可以通过数字或符号两种方式来指定权限的值。数字方式是用三个八进制数来表示文件目录权限,每个八进制数分别表示所有者、所属组和其他用户的权限。符号方式则是用u、g、o和a来表示权限的作用对象,用+、-和=来表示权限的增加、减少和设置。 chown命令用于修改文件目录的所有者,可以通过用户名或用户ID来指定新的所有者。只有文件目录的所有者或超级用户才能使用chown命令chgrp命令用于修改文件目录的所属组,可以通过组名或组ID来指定新的所属组。只有文件目录的所有者或超级用户才能使用chgrp命令。 综上所述,chmodchownchgrp三个命令的作用不同,但都是用于管理文件目录权限、所有者和所属组。 <h3>回答2:</h3><br/>在Linux系统中,chmodchownchgrp都是用于文件目录权限管理的命令,但它们各自有不同的用途和作用,下面分别进行解释: chmod命令:用于改变文件目录的访问权限。在Linux系统中,文件目录的访问权限通常用r、w、x这三个字母来表示,分别代表读、写和执行的权限。使用chmod命令可以通过数字或符号两种方式来改变文件目录权限,数字方式的权限表示为0-7,而符号方式是通过u、g、o和a(代表用户、用户组、其他用户和全部)以及+、-和=等符号来操作。 chown命令:用于改变文件目录的所有者。在Linux系统中,每个文件目录有一个所有者和一个所属用户组,chown命令可以改变文件目录的所有者和所属用户组,这样便可以在很大程度上控制文件目录的使用权限chown命令的常用选项有-R(递归)和--from(改变原有的文件目录所有者和所属用户组)等。 chgrp命令:用于改变文件目录的所属用户组。随着文件目录权限的复杂化,需要更多的精确控制文件目录的使用权限,而chgrp命令就提供了一种改变文件目录所属用户组的方法。使用chgrp命令时,可以指定文件目录的所属用户组,例如: chgrp linux /test 以上命令将test目录的所属用户组改为“linux”。 总的来说,chmodchownchgrpLinux系统中都是常用的文件目录权限管理命令,但它们的作用各有不同。chmod主要用于改变文件目录的访问权限chown用于改变文件目录的所有者,而chgrp则用于改变文件目录的所属用户组。在对文件目录进行权限管理时,可以根据实际需求使用不同的命令来实现更加精细化和有效的权限控制。 <h3>回答3:</h3><br/>chmodchownchgrp是在Linux/UNIX系统中用于控制文件目录权限的三个命令,它们分别代表了修改文件目录的访问权限、所有者和群组的变更。下面将分别介绍它们之间的区别: 1. chmod chmod是用来改变文件目录文件权限命令。它可以通过改变文件目录的读、写、执行权限来控制文件目录的访问权限,从而实现对文件目录的保护和控制。通过chmod命令可以设置如下的权限: - r:读权限(4) - w:写权限(2) - x:执行权限(1) 使用chmod命令时,需指定文件目录的路径,以及要设置的权限的数字值或符号值,例如: chmod 755 directory_name chmod +x file_name 2. chown chown是用来改变文件目录所属用户的命令。它可以将文件目录的所有者改为指定的用户或用户组,从而实现对文件目录的控制。使用chown命令时,需指定文件目录的路径,以及所属用户的用户名或用户ID,例如: chown username file_name chown username:group_name directory_name 3. chgrp chgrp是用来改变文件目录所属群组的命令。它可以将文件目录所属群组改为指定的群组,从而实现对文件目录的控制。使用chgrp命令时,需指定文件目录的路径,以及所属群组的群组名或群组ID,例如: chgrp group_name file_name chgrp group_name:directory_name 总结: 三个命令的作用不同,但都是在Linux/UNIX系统下控制文件目录权限的重要命令。在实际应用中,需要根据需求选择合适的命令和参数来实现对文件目录的精确控制。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值