Linux chmod命令设置文件权限的详解

chmod,这个Linux命令在曾经VPS主机中安装环境和编译脚本的时候也有需要用到的,用来设定网站、文件目录的权限,比如我们给网站某个目录和文件设置可读、只读等等,确保文件和目录的安全设置。

hmod [options] mode files

只能文件属主或特权用户才能使用该功能来改变文件存取模式。mode可以是数字形式或以who opcode permission形式表示。who是可选的,默认是a(所有用户)。只能选择一个opcode(操作码)。可指定多个mode,以逗号分开。

options:

-c,--changes
只输出被改变文件的信息

-f,--silent,--quiet
当chmod不能改变文件模式时,不通知文件的用户

--help
输出帮助信息。

-R,--recursive
可递归遍历子目录,把修改应到目录下所有文件和子目录

--reference=filename
参照filename的权限来设置权限

-v,--verbose
无论修改是否成功,输出每个文件的信息

--version
输出版本信息。

 

第一、文件身份

 

u : User,即文件或目录的拥有者;

 

g : Group,即文件或目录的所属群组;

 

o : Other,除了文件或目录拥有者或所属群组之外,其他用户皆属于这个范围;

 

a : All,即全部的用户,包含拥有者,所属群组以及其他用户;

 

在当前某个文件的身份,权限包括本身,以及在所存在组中的权限,以及组外的权限。

 

第二、文件权限

 

r :读取权限,数字代号为“4”;

 

w :写入权限,数字代号为“2”;

 

x :执行权限,数字代号为“1”;

 

- :不具任何权限,数字代号为“0”;

 

s :特殊功能说明:变更文件或目录的权限。

 

这里文件用户身份分成4种,每个用户身份有对应不同的权限,一般是读取、写入、执行。一般我们看到的rwx对应的数字相加标示的,其实用字符表示也一样,只不过需要单独的设置。

 

第三、举例解释

 

 代码如下 复制代码

chmod -R 755 itbulu

 

从这个例子中我们可以看到对于itbulu文件夹以及子目录中的设置7(所有者权限)、5(所在组权限)、5(其他组用户权限)。

 

 代码如下 复制代码

chmod -R 644 itbulu

 

表示所有者有读写权限,其他用户只有只读权限。

 

 代码如下 复制代码

chmod -R 777 itbulu

 

表示每个人都有读、写、执行权限。

 

 代码如下 复制代码

chmod u+x,g+w itbulu

 

这个表示所有者用户有执行权限,组用户成员有写入权限。

 

 代码如下 复制代码

chmod u=rxw,g=rwx,o=rwx itbulu

 

这个与我们上面看到的777权限意思是一样的,有些时候还是数字表达比较简单。

 

 代码如下 复制代码

chmod o-x itbulu.sh

 

这里要顺带提一下=,+,-。这三个表示完全赋予、添加某个权限、减掉某个权限,比如上面一个例子就可能之前不需要赋予o其他用户执行权限,那这里就把减掉。

 

总结,chmod,权限的设置看似简单,但是在实际的使用中还是比较讲究的,不能乱设置更高的权限,否则文件会有安全风险,也不能设置过低权限,否则复无法执行。

s

时间: 2024-09-21 04:42:28

Linux chmod命令设置文件权限的详解的相关文章

Linux chmod命令修改文件与文件夹权限方法

语法:chmod [who] [+ | - | =] [mode] 文件名 命令中各选项的含义为 u 表示"用户(user)",即文件或目录的所有者. g 表示"同组(group)用户",即与文件属主有相同组ID的所有用户. o 表示"其他(others)用户". a 表示"所有(all)用户".它是系统默认值. 操作符号可以是: + 添加某个权限. - 取消某个权限. = 赋予给定权限并取消其他所有权限(如果有的话). 设置

Linux blockdev命令设置文件预读大小

  在命令行调用设备的ioctl函数.在Linux系统中,似乎对设备的直接操作只有ioctl函数了.他接受的参数不是太多,而且都是一一对应的. blockdev - 从命令行调用区块设备控制程序 blockdev [options] commands devices blockdev 工具允许从命令行调用区块设备控制程序. –setro 设置设备为只读 –getro 读取设备是否为只读(成功为1,0则为可读写) –setrw 设置设别为可读写 –getss 打印设备的扇区大小,通常是512 –g

Linux blockdev命令设置文件预读大小介绍

 在命令行调用设备的ioctl函数.在Linux系统中,似乎对设备的直接操作只有ioctl函数了.他接受的参数不是太多,而且都是一一对应的. blockdev - 从命令行调用区块设备控制程序 blockdev [options] commands devices blockdev 工具允许从命令行调用区块设备控制程序. –setro 设置设备为只读 –getro 读取设备是否为只读(成功为1,0则为可读写) –setrw 设置设别为可读写 –getss 打印设备的扇区大小,通常是512 –ge

Centos系统文件与用户权限分配详解ftp,nginx,php

文件权限设置 权限管理 主要的命令有: chmod.chown.chgrp.umask 1). 改变文件或目录的权限 chmod 2). 改变文件或目录的所有者 chown 3). 改变文件或目录的所属组 chgrp 4). 显示.设置文件与目录的缺省权限 umask 我想要改改目录权限的初衷,是因为我想将这个服务器配置更像虚拟主机一样,因为我的运行环境是nginx+php-fpm,我将他们的运行用户都设置为nginx,组设置为ftp,以我的名字建了ftp账户,用户名为zhangcunchao,

详解Linux系统中的文件权限设置

你要明白的第一件事是文件权限可以用来干什么.当你设置一个分组的权限时发生了什么?让我们将其展开来说,这个概念就真的简单多了.那到底什么是权限?什么是分组呢? 你可以设置的3种权限: 1.读 - 允许该分组读文件(用r表示) 2.写 - 允许该分组写文件(用w表示) 3.执行 - 允许该分组执行(运行)文件(用x表示) 为了更好地解释这如何应用于一个分组,例如,你允许一个分组可以读写一个文件,但不能执行.或者,你可以允许一个分组读和执行一个文件,但不能写.甚至你可以允许一个分组有读.写.执行全部的

Linux chmod命令详解

Linux chmod命令详解 chmod--改变一个或多个文件的存取模式(mode) chmod [options] mode files 只能文件属主或特权用户才能使用该功能来改变文件存取模式.mode可以是数字形式或以who opcode permission形式表示.who是可选的,默认是a(所有用户).只能选择一个opcode(操作码).可指定多个mode,以逗号分开. options: -c,–changes 只输出被改变文件的信息 -f,–silent,–quiet 当chmod不

如何恢复linux系统根分区文件权限

如果不小心将/目录权限搞错了,比如chmod -R 777 / 那么恭喜你,系统将崩溃,系统很多命令无法启动,命令无法执行: 或许你会说,找一台正常的系统照着权限改回来,那么恭喜你,数十万的文件也会让你崩溃. 这时候可以通过系统自带的getfacl命令来拷贝和还原系统权限,本文将告诉你如何恢复linux系统根分区文件权限 解决方法:找一台权限正常的linux(最好和故障机同版本的) 通过getfacl -R / >systemp.bak将这个正常系统的/目录下所有文件的权限都备份保存在syste

java中怎么设置文件权限

检查文件权限允许: 1.file.canExecute(); – 返回true,文件是可执行的,false 则不是. 2.file.canWrite(); – 返回true,文件是可写的,false 则不是. 3.file.canRead(); – 返回true,文件是可读的,false 则不是. 设置文件权限: 1.file.setExecutable(boolean); – true允许执行操作; false则是禁止它. 2.file.setReadable(boolean); – true

Linux du命令查看文件夹大小并按降序排列_linux shell

1. df -lh 2. du -s /usr/* | sort -rn 这是按字节排序 3. du -sh /usr/* | sort -rn 这是按兆(M)来排序 4.选出排在前面的10个 du -s /usr/* | sort -rn | head 5.选出排在后面的10个 du -s /usr/* | sort -rn | tail du -h –-max-depth=0 user du -sh –-max-depth=2 | more 总结du常用命令 du -h --max-dept