Linux - chmod/chown命令与文件权限设置

本文涉及的产品
RDS AI 助手,专业版
RDS MySQL DuckDB 分析主实例,集群系列 4核8GB
RDS MySQL DuckDB 分析主实例,基础系列 4核8GB
简介: Linux - chmod/chown命令与文件权限设置

【1】文件权限基本介绍

实例 ls 查看文件-1:

[root@localhost ~]# ls -l ./test3.java
-rw-r--r--. 1 jane jane 20 Jun 13 08:57 ./test3.java

0-9位说明

1)第0位确定文件类型(d, -, l , c , b)

“l”是链接文件,相当于windows的快捷方式;
“b”是块设备,硬盘就是一个例子;
“c”是字符设备文件,鼠标,键盘算是;
“d”是目录文件,相当于windows的文件夹。

2)第1-3位确定所有者(该文件的所有者)拥有该文件的权限。—User

3)第4-6位确定所属组(同用户组的)拥有该文件的权限,—Group

4)第7-9位确定其他用户拥有该文件的权限—Other


上面test3.java解释如下:jane用户对该文件拥有读写权限;jane用户组其他用户和其他组只有读的权限。


rwx权限详解


rwx作用到文件

  1. [ r ]代表可读(read): 可以读取,查看
  2. [ w ]代表可写(write): 可以修改,但是不代表可以删除该文件,删除一个文件的前提条件是对该文件所在的目录有写权限,才能删除该文件.
  3. [ x ]代表可执行(execute):可以被执行



rwx作用到目录

  1. [ r ]代表可读(read): 可以读取,ls查看目录内容
  2. [ w ]代表可写(write): 可以修改,目录内创建+删除+重命名目录
  3. [ x ]代表可执行(execute):可以进入该目录


详细实例-2

ls -l 中显示的内容如下:

-rwxrw-r--1 root root 1213 Feb 2 09:39 abc


10个字符确定不同用户能对文件干什么:

第一个字符代表文件类型:文件(-),目录(d),链接(l),其余字符每3个一组(rwx) 读(r) 写(w) 执行(x)。
第一组rwx : 文件拥有者的权限是读、写和执行
第二组rw-: 与文件拥有者同一组的用户的权限是读、写但不能执行
第三组r--: 不与文件拥有者同组的其他用户的权限是读,不能写和执行



可用数字表示为: r=4,w=2,x=1 因此rwx=4+2+1=7

1      文件:硬连接数或目录:子目录数
root   用户
root   组
1213   文件大小(字节),如果是文件夹,显示4096字节
Feb 2 09:39 最后修改日期
abc    文件名


【2】chmod

有时在执行脚本时,提示无权限。如Tomcat下面的startup.sh文件,亦或者自己编写的其他脚本,这是就需要问文件赋予可执行权限。


chmod命令用来变更文件或目录的权限。在UNIX系统家族里,文件或目录权限的控制分别以读取、写入、执行3种一般权限来区分,另有3种特殊权限可供运用。用户可以使用chmod指令去变更文件与目录的权限,设置方式采用文字或数字代号皆可。符号连接的权限无法变更,如果用户对符号连接修改权限,其改变会作用在被连接的原始文件。① 权限范围的表示法如下:



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

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

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

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

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

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

x 执行或切换权限,数字代号为“1”;

+: 表示增加权限、-表示取消权限、=表示唯一设定权限。

s 特殊功能说明:变更文件或目录的权限。u:所有者,g:所有组,o:其他人,a:所有人(u、g、o的总和):

1) chmod u=rwx,g=rx,o=x 文件目录名 //设置文件所有者有读写执行权限、同一组的有读执行权限、其他的只有执行权限
2) chmod o+w 文件目录名  //为其他用户添加写权限
3) chmod a-x 文件目录名   //去掉所有用户的执行权限
4)chmod a+x f01  //对文件f01的u,g,o都设置可执行属性


② chmod命令语法

语法格式如下:

chmod(选项)(参数)


选项如下:

-c或——changes:效果类似“-v”参数,但仅回报更改的部分;
-f或--quiet或——silent:不显示错误信息;
-R或——recursive:递归处理,将指令目录下的所有文件及子目录一并处理;
-v或——verbose:显示指令执行过程;
--reference=<参考文件或目录>:把指定文件或目录的所属群组全部设成和参考文件或目录的所属群组相同;
<权限范围>+<权限设置>:开启权限范围的文件或目录的该选项权限设置;
<权限范围>-<权限设置>:关闭权限范围的文件或目录的该选项权限设置;
<权限范围>=<权限设置>:指定权限范围的文件或目录的该选项权限设置;


参数:

权限模式:指定文件的权限模式;
文件:要改变权限的文件。

③ 实例-赋予不同用户目录权限

// -R表示递归处理目录下所有子文件
chown -R nobody:nobody /opt  --赋予所有人 /opt 目录权限;
chown -R mysql:mysql ./mysql --赋予mysql用户 mysql用户组, /mysql 目录权限


④ chmod 数字表示文件权限


chmod是Linux下设置文件权限的命令,后面的数字表示不同用户或用户组的权限。


一般是三个数字:


第一个数字表示文件所有者的权限

第二个数字表示与文件所有者同属一个用户组的其他用户的权限

第三个数字表示其它用户组的权限。

权限分为三种:读(r=4),写(w=2),执行(x=1)。综合起来还有可读可执行(rx=5=4+1)、可读可写(rw=6=4+2)、可读可写可执行(rwx=7=4+2+1)。


所以,chmod 755 设置用户的权限为:


文件所有者可读可写可执行

与文件所有者同属一个用户组的其他用户可读可执行

其它用户组可读可执行chmod 777 则是赋予所有人最高权限777就是rwxrwxrwx,意思是该登录用户(可以用命令id查看)、他所在的组和其他人都有最高权限。

chmod a=rwx file 和chmod 777 file效果相同
chmod u=rwx,g=rx,o=x 文件目录名 相当于chmod 751 文件目录名

【3】chown

是不是看起来和chmod很像?


chown命令改变某个文件或目录的所有者和所属的组,该命令可以向某个用户授权,使该用户变成指定文件的所有者或者改变文件所属的组。用户可以是用户或者是用户D,用户组可以是组名或组id。文件名可以使由空格分开的文件列表,在文件名中可以包含通配符。


只有文件主和超级用户才可以便用该命令。语法格式如下:

chown(选项)(参数)


选项

-c或——changes:效果类似“-v”参数,但仅回报更改的部分;
-f或--quite或——silent:不显示错误信息;
-h或--no-dereference:只对符号连接的文件作修改,而不更改其他任何相关文件;
-R或——recursive:递归处理,将指定目录下的所有文件及子目录一并处理;
-v或——version:显示指令执行过程;
--dereference:效果和“-h”参数相同;
--help:在线帮助;
--reference=<参考文件或目录>:把指定文件或目录的拥有者与所属群组全部设成和参考文件或目录的拥有者与所属群组相同;
--version:显示版本信息。


参数

用户:组:指定所有者和所属工作组。当省略“:组”,仅改变文件所有者;

文件:指定要改变所有者和工作组的文件列表。支持多个文件和目标,支持shell通配符。

chown newowner file 改变文件的所有者
chown newowner:newgroup file 改变用户的所有者和所有组


实例

该命令通常结合chmod命令使用,如某个文件目录只有某个用户/所属组才能访问。将目录/usr/meng及其下面的所有文件、子目录的文件所有者改为liu,用户组改为liu:

//改变/usr/meng的所有者和所属组
chown -R liu:liu /usr/meng
# 非,liu用户组下的用户都不能访问/usr/meng 
chmod -R u=rwx,g=rwx,o= /usr/meng 


相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。 &nbsp; 相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情:&nbsp;https://www.aliyun.com/product/rds/mysql&nbsp;
目录
相关文章
|
6月前
|
Linux 应用服务中间件 Shell
二、Linux文本处理与文件操作核心命令
熟悉了Linux的基本“行走”后,就该拿起真正的“工具”干活了。用grep这个“放大镜”在文件里搜索内容,用find这个“探测器”在系统中寻找文件,再用tar把东西打包带走。最关键的是要学会使用管道符|,它像一条流水线,能把这些命令串联起来,让简单工具组合出强大的功能,比如 ps -ef | grep 'nginx' 就能快速找出nginx进程。
748 1
二、Linux文本处理与文件操作核心命令
|
6月前
|
Linux
linux命令—stat
`stat` 是 Linux 系统中用于查看文件或文件系统详细状态信息的命令。相比 `ls -l`,它提供更全面的信息,包括文件大小、权限、所有者、时间戳(最后访问、修改、状态变更时间)、inode 号、设备信息等。其常用选项包括 `-f` 查看文件系统状态、`-t` 以简洁格式输出、`-L` 跟踪符号链接,以及 `-c` 或 `--format` 自定义输出格式。通过这些选项,用户可以灵活获取所需信息,适用于系统调试、权限检查、磁盘管理等场景。
441 137
|
6月前
|
安全 Ubuntu Unix
一、初识 Linux 与基本命令
玩转Linux命令行,就像探索一座新城市。首先要熟悉它的“地图”,也就是/根目录下/etc(放配置)、/home(住家)这些核心区域。然后掌握几个“生存口令”:用ls看周围,cd去别处,mkdir建新房,cp/mv搬东西,再用cat或tail看文件内容。最后,别忘了随时按Tab键,它能帮你自动补全命令和路径,是提高效率的第一神器。
1171 58
|
5月前
|
存储 安全 Linux
Linux卡在emergency mode怎么办?xfs_repair 命令轻松解决
Linux虚拟机遇紧急模式?别慌!多因磁盘挂载失败。本文教你通过日志定位问题,用`xfs_repair`等工具修复文件系统,三步快速恢复。掌握查日志、修磁盘、验重启,轻松应对紧急模式,保障系统稳定运行。
1033 2
|
6月前
|
缓存 监控 Linux
Linux内存问题排查命令详解
Linux服务器卡顿?可能是内存问题。掌握free、vmstat、sar三大命令,快速排查内存使用情况。free查看实时内存,vmstat诊断系统整体性能瓶颈,sar实现长期监控,三者结合,高效定位并解决内存问题。
566 0
Linux内存问题排查命令详解
|
6月前
|
Unix Linux 程序员
Linux文本搜索工具grep命令使用指南
以上就是对Linux环境下强大工具 `grep` 的基础到进阶功能介绍。它不仅能够执行简单文字查询任务还能够处理复杂文字处理任务,并且支持强大而灵活地正则表达规范来增加查询精度与效率。无论您是程序员、数据分析师还是系统管理员,在日常工作中熟练运用该命令都将极大提升您处理和分析数据效率。
546 16
|
7月前
|
Linux 网络安全 开发工具
技术栈:这50条最常用的 Linux 命令你一定要会!
建议多在终端中实践,遇到不懂的命令就用 man 或 --help 了解详情!
1222 0
Linux 命令 `chown`:改变文件或目录的所有者
`chown` 是 Linux 中用于改变文件或目录所有者的命令。基本语法是 `chown [选项] 新所有者 文件或目录...`。常用选项包括 `-R` 递归更改、`-c` 显示详细信息和 `-v` 显示详细处理。示例:将 `example.txt` 所有者改为 `user2` 使用 `chown user2 example.txt`;更改目录 `mydir` 及其内容所有者为 `user2` 使用 `chown -R user2 mydir`。注意,通常只有 root 或当前所有者能更改所有者,且需谨慎操作以避免影响权限。
|
Linux
linux命令之chown
linux命令之chown
454 1
|
Linux
Linux命令(11)之chown
Linux命令(11)之chown
316 0