常用基本权限操作命令:

  • chmod命令
  • chown命令
  • chgrp命令

1、chmod命令

修改权限的命令chmod,其基本信息如下:

  • 命令名称:chmod
  • 英文原意:change file mode bits
  • 所在路径:/bin/chmod
  • 执行权限:所有用户。
  • 功能描述:修改文件的权限模式。

chmod命令格式:

[root@localhost ~ ] # chmod [选项] 权限模式 文件名

选项:
-R:递归设置权限,也就是给子目录中的所有文件设定权限

2、权限模式

chmod命令的权限模式的格式是[ugoa][+-=][perms],也就是[用户身份][赋予方式][权限]的格式,我们来解释一下。

(1)用户身份。

  • u:代表所有者(user)。
  • g:代表所属组(group)。
  • o:代表其他人(other)。
  • a:代表全部身份(all)。

(2)赋予方式。

  • +:加入权限。
  • -:减去权限。
  • =:设置权限。

(3)权限。

  • r:读取权限(read)。
  • w:写权限(write)。
  • x:执行权限(execute)。
# 查看abc文件的权限
[root@192 ~]# ll
-rw-r--r--. 1 root root 0 12月 29 21:41 abc # 1.给abc文件的所有者添加执行权限。
[root@192 ~]# chmod u+x abc
[root@192 ~]# ll
-rwxr--r--. 1 root root 0 12月 29 21:41 abc # 2.同时给多个身份赋予权限,之间用逗号隔开。
[root@192 ~]# chmod g+w,o+w abc
[root@192 ~]# ll
-rwxrw-rw-. 1 root root 0 12月 29 21:41 abc # 3.直接给对应的身份赋予想要的权限,用=。
[root@192 ~]# chmod u=rwx,g=rwx,o=rwx abc
[root@192 ~]# ll
-rwxrwxrwx. 1 root root 0 12月 29 21:41 abc

3、数字权限

数字权限的赋予方式是最简单的,但是不如之前的字母权限好记、直观。

我们来看看这些数字权限的含义。

  • 4:代表r权限。
  • 2:代表w权限。
  • 1:代表x权限。

说明:

r、w、x代表读写执行的权限,我们把1代表有权限,0代表没有权限,则111带便三个权限都有,把111看成一个二进制数,转义成十进制就是7,101则为5,以此类推。

4、文件常用权限

数字权限的赋予方式更加简单,但是需要用户对这几个数字更加熟悉。其实常用权限也并不多,只有如下几个。

  • 644:这是文件的基本权限,代表所有者拥有读、写权限,而所属组和其他人拥有只读权限。(文件的标准权限就是这个权限)
  • 755:这是文件的执行权限和目录的基本权限,代表所有者拥有读、写和执行权限,而所属组和其他人拥有读和执行权限。
  • 777:这是最大权限。在实际的生产服务器中,要尽力避免给文件或目录赋予这样的权限,这会造成一定的安全隐患。(代表所有人都拥有对该文件的最大权限,实际工作中不可这么设置。)

5、chown命令

chown是修改文件和目录的所有者和所属组的命令,其基本信息如下:

  • 命令名称:chown
  • 英文原意:change file owner and group
  • 所在路径:/bin/chown
  • 执行权限:所有用户。
  • 功能描述:修改文件和目录的所有者和所属组。

chown命令格式:

[root@localhost ~ ] # chown [选项] 所有者:所属组 文件或目录

选项:
-R:递归设置权限,也就是给子目录中的所有文件设置权限

注意:在新安装的Linux系统中,是有大量的系统用户的,但是这些系统用户是不能登陆的,能登陆的用户只有root用户。

演示:登陆用户为root

# 1.文件的所有者为用户,所以需要先创建一个普通用户user1。
[root@192 ~]# useradd user1
[root@192 ~]# passwd user1
更改用户 user1 的密码 。
新的 密码:
无效的密码: 过于简单化/系统化
无效的密码: 过于简单
重新输入新的 密码:
passwd: 所有的身份验证令牌已经成功更新。
# 上面两个命令就是添加用户和给用户设置密码。
# 此时是root用户,如果是普通用户修改自己的密码,就需要符合密码复杂度原则。 # 2.查看abc文件的拥有者和所属组
[root@192 ~]# ls -l abc
-rwxrwxrwx. 1 root root 0 12月 29 21:41 abc # 3.修改abc文件的拥有者为user1
[root@192 ~]# chown user1 abc
[root@192 ~]# ls -l abc
-rwxrwxrwx. 1 user1 root 0 12月 29 21:41 abc #注意:在chown命令的描述中,是可以修改拥有者和用户组的`change file owner and group`。
# 所以通过chown命令是可以同时修改文件的拥有者和用户组。 [root@192 ~]# ls -l abc
-rwxrwxrwx. 1 user1 user1 0 12月 29 21:41 abc
[root@192 ~]# chown root:root abc
[root@192 ~]# ls -l abc
-rwxrwxrwx. 1 root root 0 12月 29 21:41 abc # 提示:chown命令中拥有者和所属组之间用:或.分隔都可以。

6、chgrp命令

chgrp是修改文件和目录的所属组的命令,其基本信息如下:

  • 命令名称:chgrp
  • 英文原意:change group ownership
  • 所在路径:/bin/chgrp
  • 执行权限:所有用户。
  • 功能描述:修改文件和目录的所属组。

同上边chown命令,演示如下:

# 1.查看abc文件的拥有者和所属组
[root@192 ~]# ls -l abc
-rwxrwxrwx. 1 root root 0 12月 29 21:41 abc # 2.修改abc文件的所属组
[root@192 ~]# chgrp user1 abc
[root@192 ~]# ls -l abc
-rwxrwxrwx. 1 root user1 0 12月 29 21:41 abc

注意:

chown命令的演示中,只创建了user1用户,并没有创建user1组。但此时系统中是有user1组的。在Linux系统中,如果你添加了一个用户,系统会默认生成一个同名的组(user1组),作为这个用户的初始组,所以不用在单独创建user1的用户组了。这与Windows系统是有区别的。

7、总结

  • 1.普通用户可以修改所有者是自己的文件的权限。
    [user1@192 ~]$ touch test
    [user1@192 ~]$ ls
    test
    [user1@192 ~]$ chmod 755 test
    [user1@192 ~]$ ls -l
    -rwxr-xr-x. 1 user1 user1 0 12月 30 00:49 test

    如果修改文件为其他拥护者的权限时,只有root用户可以。

  • 2.普通用户不能修改文件的所有者,哪怕自己是这个文件的所有者也不行。
    [user1@localhost ~ ] $ chown user2 test
    chown:正在更改"test"的所有者:不允许的操作

    只有超级用户才能修改文件的所有者。

『学了就忘』Linux基础命令 — 24、文件基本权限的相关命令的更多相关文章

  1. 『学了就忘』Linux基础 — 11、通过setup工具配置Linux系统IP地址

    目录 1.setup命令介绍 2.使用setup命令配置IP (1)执行setup命令 (2)进入图形化配置界面 (3)选择配置IP还是DNS (4)选择要配置的网卡 (5)进入IP地址配置页面 (6 ...

  2. 『学了就忘』Linux基础 — 16、Linux系统与Windows系统的不同

    目录 1.Linux严格区分大小写 2.Linux一切皆文件 3.Linux不靠扩展名区分文件类型 4.Linux中所有的存储设备都必须在挂载之后才能使用 5.Windows下的程序不能直接在Linu ...

  3. 『学了就忘』Linux基础命令 — 18、Linux命令的基本格式

    目录 1.命令提示符说明 2.命令的基本格式 (1)举例ls命令 (2)说明ls -l命令的 输出内容 1.命令提示符说明 [root@localhost ~] # []:这是提示符的分隔符号,没有特 ...

  4. 『学了就忘』Linux基础命令 — 20、文件操作的相关命令

    目录 1.touch 命令 2.stat命令 3.cat命令 4.more命令 5.less命令 6.head命令 7.tail命令 1.touch 命令 touch命令用于创建空文件或修改文件时间, ...

  5. 『学了就忘』Linux基础命令 — 22、Linux中的硬链接和软链接

    目录 1.文件和目录的基本存储 2.In命令介绍 (1)我们来看看ln命令的基本信息 (2)ln命令的基本格式 3.创建硬链接 (1)如何创建硬链接 (2)硬链接特征 (3)硬连接原理 4.创建软链接 ...

  6. 『学了就忘』Linux基础命令 — 23、文件基本权限的介绍和作用

    目录 1.基本权限的介绍 (1)权限位的含义 (2)权限的优先级 2.权限的基本作用 (1)权限含义的解释 (2)目录权限说明 1.基本权限的介绍 (1)权限位的含义 前面讲解ls命令时,我们已经知道 ...

  7. 『学了就忘』Linux基础命令 — 26、帮助命令

    目录 1.man命令 (1)man命令的快捷键 (2)man命令的帮助级别(了解即可) (3)man命令的使用 2.info命令 3.help命令 4.--help选项 1.man命令 man是最常见 ...

  8. 『学了就忘』Linux基础命令 — 27、搜索操作相关命令

    目录 1.whereis命令 2.which命令 3.locate命令 1.whereis命令 whereis是搜索系统命令的命令,也就是说,whereis命令不能搜索普通文件,而只能搜索系统命令. ...

  9. 『学了就忘』Linux基础命令 — 28、别名和常用快捷键

    目录 1.别名 2.常用快捷键 1.别名 别名也是Shell中的命令. 命令的别名,就是命令的小名,主要是用于照顾管理员使用习惯的. 命令格式: # 查询系统中命令别名 [root@localhost ...

随机推荐

  1. css3 显示一行内容,多余的以省略号显示

    overflow: hidden; white-space: nowrap; text-overflow: ellipsis; 代码如上

  2. sonar-scanner命令参数分析

    C:\Users\huang>sonar-scanner -h INFO: INFO: usage: sonar-scanner [options] INFO: INFO: Options: I ...

  3. [转载]linux下配置mariadb支持中文

    转载网址:http://www.cnblogs.com/vingi/articles/4302330.html 修改/etc/mysql/my.cnfOn MySQL 5.5 I have in my ...

  4. 低差异序列 (low-discrepancy sequences)之Hammerysley在半球中采样点方法的介绍

    半球上的Hammersley 源作者:Holger Dammertz 一组关于如何在2D中使用Hammersley点集以在着色器程序中快速实用地生成半球方向的笔记.如果你发现任何错误或有意见,不要犹豫 ...

  5. 鸿蒙内核源码分析(内存汇编篇) | 谁是虚拟内存实现的基础 | 百篇博客分析OpenHarmony源码 | v14.14

    百篇博客系列篇.本篇为: v14.xx 鸿蒙内核源码分析(内存汇编篇) | 谁是虚拟内存实现的基础 | 51.c.h .o 内存管理相关篇为: v11.xx 鸿蒙内核源码分析(内存分配篇) | 内存有 ...

  6. CF444C-DZY Loves Colors【线段树,set】

    正题 题目链接:https://www.luogu.com.cn/problem/CF444C 题目大意 \(n\)个物品第\(i\)个颜色为\(i\),权值为\(0\).要求支持\(m\)次操作 给 ...

  7. 前端开发3年了,竟然不知道什么是 Vue 脚手架?(上)

    一.脚手架认识和使用前提 CLI 是什么意思? CLI -- Command-Line Interface 命令行界面,俗称脚手架. 脚手架就是一个大概的框架,是建筑学上的一个概念. 1.1.什么是V ...

  8. ECMA 2022 (es13) 新特性

    本文主要整理了截至到 2021年10月12日 为止的且处于 Stage 3->Stage 4 阶段的ECMA提案. 主要包括: Class Fields RegExp Match Indices ...

  9. 题解 CF555E Case of Computer Network

    题目传送门 题目大意 给出一个\(n\)个点\(m\)条边的无向图,有\(q\)次有向点对\((s,t)\),问是否存在一种方法定向每条边使得每个点对可以\(s\to t\). \(n,m,q\le ...

  10. SpringBoot-thymeleaf-静态资源引入和接管

    引入前端 templates下放html页面 static下放css.js.image等静态资源 添加thymeleaf命名空间 <html lang="en" xmlns: ...