Linux基础命令-chmod修改文件权限

这篇具有很好参考价值的文章主要介绍了Linux基础命令-chmod修改文件权限。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Linux基础命令-chown修改文件属主

文章目录

前言

一、文件权限有哪些

1.1 文件的普通权限

1.1.1 普通权限案例:

1.2 文件的特殊权限

1.2.1 案例一:特殊权限SUID

1.2.2 案例二:特殊权限SGID

1.2.3 案例三:特殊权限Stickybit

二、chmod命令介绍

三、命令的语法及参数 

3.1 先用help或man查看文件语法格式

3.2 常用参数

四、参考实例

4.1 设定文件的权限为775

4.2 设定文件可以让任何人读取

4.3 设定目录及子文件的所有者可以读执行,其他无权限

4.4 让用户临时拥有重启系统的权限

4.5 设定文件无法执行

总结

前言

        这个命令是管理linux权限中最重要的一个命令,主要是给文件修改读写执行的权限,学好这个命令就能很好的管理文件的权限,下面先了解什么是文件的权限。

一、文件权限有哪些

        在linux系统中,每个文件都有归属的所有者和所有组,并且规定了文件的所有者、以及其他人对文件所拥有的可读(r)、可写(w)、可执行(x)等权限。对于一般文件来说,权限比较容易理解:“可读”表示能够读取文件的实际内容;“可写”表示能够编辑、新增、修改、删除文件的实际内容;“可执行”则表示能够运行一个脚本程序。。对于目录文件来说,“可读”表示能够读取目录内的文件列表;“可写”表示能够在目录内新增、删除、重命名文件;而“可执行”则表示能够进入该目录。

1.1 文件的普通权限

用ll展开文件的详细信息

chmod修改权限,基础命令,linux,centos,运维

左边这一框内显示的就是文件的权限;

第一个字符信息就是文件的类型,这个文件类型有(d)目录文件、(-)普通文件、(p)管道文件、(c)字符设备文件、(b)块设备文件、(l)链接文件等等。

文件的普通权限有r(read 读 )、w(write 写)、x(execute 执行)权限。

除了第一个文件类型,一共有9个空位是用来显示文件的权限,分成三个,文件所有者(user)、所有组(group)、其他人(other)、还有一个是所有人(all),包括前面三个的意思。

chmod修改权限,基础命令,linux,centos,运维

在linux中,系统只认识二进制(0/1)的内容,那么读写执行是怎么转化成我们认识的权限,实际上,我们能看到的读写执行是八进制(0-7)显示的。

权限 二进制 八进制 内容描述
--- 000 0 没有任何权限
--x 001 1 只有执行权限
-w- 010 2 只有写入权限
-wx 011 3 有写入和执行权限
r-- 100 4 只有读的权限
rwx 111 7 满权限,读写执行都有

1.1.1 普通权限案例:

1)文件所有者拥有读写执行权限,所有者、其他用户无权限

[root@localhost ~]# chmod 700 anaconda-ks.cfg 

2)目录拥有满权限

[root@localhost ~]# chmod -R a=rwx test/
[root@localhost ~]# chmod -R 777 test/

3) 给脚本文件加执行权限

[root@localhost ~]# chmod +x ping.sh 
[root@localhost ~]# ll ping.sh 
-rwxr-xr-x. 1 root root 0 2月  17 16:22 ping.sh

1.2 文件的特殊权限

文件的特殊权限有三个:

SUID(s) :限定只能用在二进制执行程序上面,对目录设置是无效的,在设置了SUID的二进制程序,会让其拥有所有者的权限(仅对拥有执行权限的二进制程序有效)。

SGID(s):可以给二进制设置可执行程序,也可对目录进行设置;在设置了SGID权限的目录下建立文件时,新创建的文件的属组会继承上级目录的属组,也就是上级目录是test组,新建的文件也是test组;若对二进制程序进行设置时,能够让执行的用户临时获取文件所属组的权限。

Stickybit(t):粘滞位权限是针对目录的,对文件无效。也叫防删除位。

1.2.1 案例一:特殊权限SUID

给其他用户临时查看/etc/shadow文件的权限;

[root@localhost ~]# ll /etc/shadow
----------. 1 root root 1243 2月   8 00:29 /etc/shadow
[root@localhost ~]# which cat
/usr/bin/cat
[root@localhost ~]# chmod u+s /usr/bin/cat
[root@localhost ~]# ll !$
ll /usr/bin/cat
-rwsr-xr-x. 1 root root 54080 8月  20 2019 /usr/bin/cat
[root@localhost ~]# su - host 
[host@localhost ~]$ cat /etc/shadow
root:$6$1f7ze/I1LjSg3xyX$Tvw4ydpoxp9Xn84c3IbJNZ9lnrVgDBOc3qTySQLWKRVoszXBie6qKhiD13Mdf4BnwMj7ByESiWXGW7P1tVBpY/::0:99999:7:::
bin:*:18353:0:99999:7:::
daemon:*:18353:0:99999:7:::
adm:*:18353:0:99999:7:::
lp:*:18353:0:99999:7:::
sync:*:18353:0:99999:7:::
shutdown:*:18353:0:99999:7:::
halt:*:18353:0:99999:7:::

1.2.2 案例二:特殊权限SGID

2)其他用户无法删除目录

[root@localhost ~]# mkdir /data
[root@localhost ~]# chmod o+t /data/
[root@localhost ~]# ll -d /data/
drwxr-xr-t. 2 root root 6 2月  17 16:30 /data/
[root@localhost ~]# su - host
上一次登录:五 2月 17 16:29:15 CST 2023pts/0 上
[host@localhost ~]$ rm -rf /data/
rm: 无法删除"/data/": 权限不够

1.2.3 案例三:特殊权限Stickybit

让新创建的文件归属于上级的组

[root@localhost ~]# mkdir data
[root@localhost ~]# ll -d data/
drwxr-xr-x. 2 root root 6 2月  17 16:33 data/
[root@localhost ~]# chown -R root:host data/
[root@localhost ~]# ll data/ -d 
drwxr-xr-x. 2 root host 6 2月  17 16:33 data/
[root@localhost ~]# cd data/
[root@localhost data]# touch a.txt
[root@localhost data]# ll
总用量 0
-rw-r--r--. 1 root root 0 2月  17 16:34 a.txt
[root@localhost data]# cd ..
[root@localhost ~]# chmod g+s data/
[root@localhost ~]# cd data/
[root@localhost data]# touch b.txt
[root@localhost data]# ll
总用量 0
-rw-r--r--. 1 root root 0 2月  17 16:34 a.txt
-rw-r--r--. 1 root host 0 2月  17 16:35 b.txt

好的,讲完了文件的权限,下面来讲下chomd的介绍和格式,以及如何使用。

二、chmod命令介绍

        chmod命令来自于英文词组“change mode”的缩写,其功能适用于改变文件或者目录权限的命令。默认只有文件的所有者和管理员可以设置文件权限,普通用户只能管理自己的文件的权限属性。

        设置权限时可以使用数字法,亦可使用字母表达式,对于目录文件建议加入-R参数进行递归操作,意味着不仅对于目录本身,也对目录内的子文件/目录进行新权限的设定。

三、命令的语法及参数 

3.1 先用help或man查看文件语法格式

[root@localhost ~]# chmod --help
用法:chmod [选项]... 模式[,模式]... 文件...
 或:chmod [选项]... 八进制模式 文件...
 或:chmod [选项]... --reference=参考文件 文件...

可以看到其中的语法有几种写法,可以在chmod后面加模式,亦可加八进制的格式。

语法: chmod 【选项】 模式 文件

            chmod 【选项】八进制模式 文件

其实八进制就是以数字的模式来代表权限,比如说满权限(rwxrwxrwx),写作777,计算格式就是4+2+1、4+2+1、4+2+1。

3.2 常用参数

chmod命令的参数可以说并不多,常用的其实只有几个。

-c 若该文件权限确实已经更改,才显示其更改动作
-f 若该文件权限无法被更改也不显示错误讯息
-v 显示权限变更的详细资料
-R 对目前目录下的所有文件与子目录进行相同的权限变更(即以递回的方式逐个变更)

四、参考实例

4.1 设定文件的权限为775

[root@localhost ~]# chmod 775 anaconda-ks.cfg 
[root@localhost ~]# ll anaconda-ks.cfg 
-rwxrwxr-x. 1 root root 1365 2月   8 00:02 anaconda-ks.cfg

4.2 设定文件可以让任何人读取

[root@localhost ~]# chmod a=r anaconda-ks.cfg 
[root@localhost ~]# ll anaconda-ks.cfg 
-r--r--r--. 1 root root 1365 2月   8 00:02 anaconda-ks.cfg

4.3 设定目录及子文件的所有者可以读执行,其他无权限

[root@localhost ~]# chmod -R 500 data/
[root@localhost ~]# ll data/
总用量 0
-r-x------. 1 root root 0 2月  17 16:34 a.txt
-r-x------. 1 root host 0 2月  17 16:35 b.txt

4.4 让用户临时拥有重启系统的权限

[root@localhost ~]# which reboot
/usr/sbin/reboot
[root@localhost ~]# ll /usr/sbin/reboot 
lrwxrwxrwx. 1 root root 16 2月   8 00:25 /usr/sbin/reboot -> ../bin/systemctl
[root@localhost ~]# chmod u+s !$
chmod u+s /usr/sbin/reboot

4.5 设定文件无法执行

[root@localhost ~]# chmod a-x anaconda-ks.cfg 

总结

        chmod这个命令的要讲的东西是很多的,要理解起来光看概念是比较难理解的,关键要多实操,多上手练,就能很快理解权限之间的关系和用法了;如果觉得内容还行的,可以一键三连支持一下!

chmod修改权限,基础命令,linux,centos,运维

 文章来源地址https://www.toymoban.com/news/detail-724741.html

到了这里,关于Linux基础命令-chmod修改文件权限的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • linux里root用户权限下chmod修改文件却报错:Operation not permitted的解决方法

    root权限。在家目录里有个test的文件夹,但是这里想要用chmod命令修改该文件夹的权限,却报错 chmod: changing permissions of ‘test’: Operation not permitted 可以通过执行以下命令来检查文件系统是否已挂载为只读模式: mount | grep ’ / ’ 该命令将列出根文件系统的详细信息,包括挂载

    2024年04月24日
    浏览(58)
  • 关于Linux文件和目录的777、755、644权限,chmod -R 777 xxx,chmod -R 755 xxx,以及chmod -R 644 xxx 命令意义

    哈喽 大家好啊 之前相对linux的某个文件夹下的文件执行读写操作权限的时候 直接会 chmod -R 777 xxx 路径  赋值某个文件夹读写权限 在linux中,文件或者目录权限分为3种: r:4 读 w:2写 x:1 执行 -:对应的数值0 rwx= 4+2+1 表示读写执行权限 rw= 4+2=6 表示可读写,但是不可以执行 rx =

    2024年02月02日
    浏览(54)
  • Linux常见命令 15 - 权限管理命令 chmod

    目录 1. chmod 语法 2. chmod {ugoa} {+-=} {rwx} [文件或目录] -R 3. chmod [mode=421] [文件或目录] -R 4. 注意事项!! 1. chmod 语法 chmod为修改文件/文件夹权限,有以下两种操作,其中-R表示递归修改。【 注意:如果想要修改一个文件的权限,只有两个用户可以:所有者 和 root 】 chmod {ugo

    2024年02月12日
    浏览(43)
  • Linux 修改文件权限命令

    Permission denied,操作的文件没有权限的解决方法: sudo:是linux系统管理指令,是允许系统管理员让普通用户执行一些或者全部的root命令的一个工具。 -R:是指用到目录里所有子目录和文件; 777:是指所有用户都拥有的最高权限。 sudo chmod -R 777 后面跟上文件路径。

    2024年01月19日
    浏览(54)
  • Linux权限命令-修改文件的所属组

    在Linux系统中,可以通过 chgrp 命令来修改文件或目录的所属组。本文将介绍 chgrp 命令的语法、实操以及各种方法之间的区别,以帮助读者更加深入地掌握这个命令。 chgrp 命令的基本语法如下: 其中, -R 为可选参数,表示递归修改指定目录下所有文件的所属组; groupname 为要

    2024年02月08日
    浏览(53)
  • Linux umask命令详解,Linux修改文件默认访问权限

    「作者主页」: 士别三日wyx 「作者简介」: CSDN top100、阿里云博客专家、华为云享专家、网络安全领域优质创作者 作用: umask 命令用来控制 「权限掩码」 ,为新建的文件或目录设置一个 「初始权限」 。 文件/目录创建时的初始权限 = 默认权限 - 权限掩码 「查看」 当前用

    2024年02月07日
    浏览(59)
  • Linux权限命令-修改文件的所有者

    在 Linux 系统中,文件和目录的所有者和所属组是决定访问权限的重要因素之一。如果用户需要更改文件或目录的所有者,可以使用 chown 命令来完成。本文将介绍 chown 命令的语法、实操以及各种方法之间的区别。 chown 命令的基本语法格式为: 其中, 选项 表示需要使用的参数

    2024年02月11日
    浏览(57)
  • chmod 777 修改文件权限

     1 、简介 chmod:命令是控制用户对文件的权限的命令 2、读写执行权限 r 、 w 、 x  分别表示读、写、执行权限 4、2、1  分别表示读、写、执行权限,7表示全部执行可读可写可执行 权限 权限数字 具体作用 可读 r 4 read ,读取。当前用户可以读取文件内容, 7 表示全部权限,

    2024年02月10日
    浏览(92)
  • 指定linux文件夹下所有文件赋权命令“chmod -R 755”

    仓库:Ai-trainee/GPT-Prompts-Hub 下面我们假设要为:/opt/robot/lib/robot_control/下所有子文件赋权 如果要为 robot_control 目录中的所有文件分配权限(在 Linux 术语中也称为“更改文件权限”或“chmod”),则可以使用 chmod 命令在 Linux 终端中。 下面通过逐步类比来理解 Linux 中文件权限的

    2024年04月27日
    浏览(60)
  • 【Linux】Linux基础命令-cp、ls、mv、chmod、rm、mkdir、cd、find、pwd

    1.添加用户 (1)切换到管理员 sudo su (2)添加用户 addusr zhangdi (3)设置密码 (4)切换到自己的账号 su zhangdi 2. mkdir、cd 命令,要求能建立目录、进入与退出目录 (1)打开终端”应用程序”→ “附件”→“终端”,在终端用命令新建目录kkk (2)进入目录mydir,并在mydir目

    2024年02月12日
    浏览(50)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包