专栏首页蛮三刀的后端开发专栏【Linux】ubuntu系统权限chmod的使用

【Linux】ubuntu系统权限chmod的使用

转载自:点击打开链接

常用方法如下:

sudo chmod 600 ××× (只有所有者有读和写的权限)

sudo chmod 644 ××× (所有者有读和写的权限,组用户只有读的权限)

sudo chmod 700 ××× (只有所有者有读和写以及执行的权限)

sudo chmod 666 ××× (每个人都有读和写的权限)

sudo chmod 777 ××× (每个人都有读和写以及执行的权限)

其中×××指文件名(也可以是文件夹名,不过要在chmod后加-ld)。

解释一下,其实整个命令的形式是

sudo chmod -(代表类型)×××(所有者)×××(组用户)×××(其他用户)

三位数的每一位都表示一个用户类型的权限设置。取值是0~7,即二进制的[000]~[111]。

这个三位的二进制数的每一位分别表示读、写、执行权限。

如000表示三项权限均无,而100表示只读。这样,我们就有了下面的对应:

0 [000] 无任何权限

4 [100] 只读权限

6 [110] 读写权限

7 [111] 读写执行权限

现在看上面的几个常用用法就非常清楚了。试着自己来修改权限吧

最后同时附上查询文件(或文件夹)权限的命令

ls -l 文件名称 (文件夹将-l改为-ld)。

先来了解一下文件属性,

在shell环境里输入:ls -l 可以查看当前目录文件。如:

drwxr-xr-x 2 nsf users 1024 12-10 17:37 下载文件备份

分别对应的是:

文件属性 连接数 文件拥有者 所属群组 文件大小 文件修改时间 文件名

这里r是可读,w可写,x 可执行,其中文件属性分为四段,---- --- --- 10个位置

例如:

d rwx r-x r-x

第一个字符指定了文件类型。在通常意义上,一个目录也是一个文件。如果第一个字符是横线,表示是一个非目录的文件。如果是d,表示是一个目录。

第二段是文件拥有者的属性,

第三段是文件所属群组的属性,

第四段是对于其它用户的属性,

如上面文件夹“下载文件备份” 的访问权限,表示文件夹“下载文件备份” 是一个目录文件;文件夹“下载文件备份” 的属主有读写可执行权限;与文件夹“下载文件备份” 属主同组的用户只有读和可执行权限;其他用户也有读和可执行权限。

确定了一个文件的访问权限后,用户可以利用Linux系统提供的chmod命令来重新设定不同的访问权限。也可以利用chown命令来更改某个文件或目录的所有者。利用chgrp命令来更改某个文件或目录的用户组。

chmod 命令

功能:chmod命令是非常重要的,用于改变文件或目录的访问权限.用户用它控制文件或目录的访问权限.

语法:该命令有两种用法。一种是包含字母和操作符表达式的文字设定法;另一种是包含数字的数字设定法。

1. 文字设定法

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

参数:

操作对象who可是下述字母中的任一个或者它们的组合:

u 表示“用户(user)”,即文件或目录的所有者。

g 表示“同组(group)用户”,即与文件属主有相同组ID的所有用户。

o 表示“其他(others)用户”。

a 表示“所有(all)用户”。它是系统默认值。

操作符号可以是:

+ 添加某个权限。

- 取消某个权限。

= 赋予给定权限并取消其他所有权限(如果有的话)。

设置mode所表示的权限可用下述字母的任意组合:

r 可读。

w 可写。

x 可执行。

X 只有目标文件对某些用户是可执行的或该目标文件是目录时才追加x 属性。

s 在文件执行时把进程的属主或组ID置为该文件的文件属主。方式“u+s”设置文件的用 户ID位,“g+s”设置组ID位。

t 保存程序的文本到交换设备上。

u 与文件属主拥有一样的权限。

g 与和文件属主同组的用户拥有一样的权限。

o 与其他用户拥有一样的权限。

文件名:以空格分开的要改变权限的文件列表,支持通配符。

在一个命令行中可给出多个权限方式,其间用逗号隔开。例如:chmod g+r,o+r example

使同组和其他用户对文件example 有读权限。

chgrp命令

功能:改变文件或目录所属的组。

语法:chgrp [选项] group filename?

该命令改变指定指定文件所属的用户组。其中group可以是用户组ID,也可以是/etc/group文件中用户组的组名。文件名是以空格分开的要改变属组的文件列表,支持通配符。如果用户不是该文件的属主或超级用户,则不能改变该文件的组。

参数:

- R 递归式地改变指定目录及其下的所有子目录和文件的属组。

例1:$ chgrp - R book /opt/local /book

改变/opt/local /book/及其子目录下的所有文件的属组为book。

chown 命令

功能:更改某个文件或目录的属主和属组。这个命令也很常用。例如root用户把自己的一个文件拷贝给用户xu,为了让用户xu能够存取这个文件,root用户应该把这个文件的属主设为xu,否则,用户xu无法存取这个文件。

语法:chown [选项] 用户或组 文件

说明:chown将指定文件的拥有者改为指定的用户或组。用户可以是用户名或用户ID。组可以是组名或组ID。文件是以空格分开的要改变权限的文件列表,支持通配符。

参数:

- R 递归式地改变指定目录及其下的所有子目录和文件的拥有者。

- v 显示chown命令所做的工作。

例1:把文件shiyan.c的所有者改为wang。

$ chown wang shiyan.c

例2:把目录/his及其下的所有文件和子目录的属主改成wang,属组改成users。

$ chown - R wang.users /his

----------------------------------------------------------------

另附"chmod [权限数字] 目标文件"方式的一些资料:

chmod -vR 700 file1 表示只有file1的拥有者有读写和执行权限,-v表示显示详细信息,-R表示递归处理下级文件

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • [Leetcode][python]Next Permutation/下一个排列

    版权声明:本文为博主原创文章,转载请注明原文地址链接。 https://blog.cs...

    后端技术漫谈
  • 最长公共子序列与最长公共子串(DP)

    比如序列bo, bg, lg在母串cnblogs与belong中都出现过并且出现顺序与母串保持一致,我们将其称为公共子序列。最长公共子序列(Longest C...

    后端技术漫谈
  • [Leetcode][python/java]Search for a Range/有序数组中的单一元素

    查找升序数组第一次出现target数字的范围,返回索引号。题目要求的时间复杂度是O(log n)。

    后端技术漫谈
  • Linux文件权限与群组修改命令详解

    在Linux中,一切皆为文件(目录也是文件),每个文件对用户具有可读(read)、可写(write)、可执行(execute)权限。目录的执行操作表示是否有权限...

    砸漏
  • linux用户组以及权限总结

    用户所在组: 当Linux当前用户创建了一个文件后,则这个文件所属于的组便是这个用户所在的组

    砸漏
  • linux的用户权限

    最近一个同事把他的服务器分给我了一块,咿呀,万分激动之下,准备自己要搞一个博客!然而,每次一操作点啥,就给我报“permission deny”

    用户3258338
  • C和C++安全编码笔记:文件I/O

    C和C++程序通常会对文件进行读写,并将此作为它们正常操作的一部分。不计其数的漏洞正是由这些程序与文件系统(其操作由底层操作系统定义)交互方式的不规则性而产生的...

    用户7886150
  • python3–文件操作

    老七Linux
  • linux基础 二

    可分享的,可分享给其他系统挂载使用的目录,即执行文件,用户邮件,可分享给网络上其他用户的

    mySoul
  • CTF解题技能之MISC基础

    杂项题目主要是以文件附件作为题目,但是给的文件不一定是有后缀名的,这就需要我们识别这些文件

    漏斗社区

扫码关注云+社区

领取腾讯云代金券