Linux之权限管理
Linux系统之所以更安全,是因为对文件权限有着非常严格的控制。
查看文件或目录的权限:ls-al
文件权限分别为:读( read ),写( write ),执行( execute),简写即为(r,w,x),-即无权限。
每个文件针对每类访问者定义了三种主要权限。其中,第一位:代表文件类型,后面每3位代表一组权限,分别是:所有者、所属组和其他人。
chmod改变文件权限:
[root@localhost ~]# chmod [选项] 模式 文件名
参数说明:
选项:-R 表示递归
模式:权限 字母 表示法 :[ugoa] [+-=] [rwx] 权限 数字 表示法 :[mode=421]
权限数字:r-4,w-2,x-1,无权限 - 0
常用组合:777最高权限,644普通文件权限,755执行权限
chown改变文件的拥有者
该命令用来更改文件的拥有者,同时它也具备更改文件拥有组的功能。默认情
况下,使用什么用户登录系统,那么该用户新创建的文件和目录的拥有者就是
这个用户要是想改变该文件的拥有者和文件的用户组,则
[root@linux30 fileSys]# ls -l
-rw-r--r--. 1 root root 0 12月 21 09:13 chown_file
[root@linux30 fileSys]# chown user1:user2 chown_file
[root@linux30 fileSys]# ls -l
-rw-r--r--. 1 user1 user2 0 12月 21 09:13 chown_file
如果需要修改的不是一个文件而是一个目录,以及该目录下所有的文件、子目录、子目录下所有的文件和目录,则需要使用-R参数。
chgrp改变文件的拥有组
该命令用来更改文件的拥有组
[root@linux30 fileSys]# ls -l
-rw-r--r--. 1 user1 user2 0 12月 21 09:13 chown_file
[root@linux30 fileSys]# chgrp user1 chown_file
[root@linux30 fileSys]# ls -l
-rw-r--r--. 1 user1 user1 0 12月 21 09:13 chown_file
默认权限和umask(遮罩)
所有的文件在创建时就都是有权限的了,也就是当我们创建文件的时候,系统套用默认权限来设置了文件。
[root@linux30 fileSys]# touch root_file1 root_file2
[root@linux30 fileSys]# mkdir root_dir1 root_dir2
[root@linux30 fileSys]# ls -ld root_*
drwxr-xr-x. 2 root root 6 12月 21 09:58 root_dir1
drwxr-xr-x. 2 root root 6 12月 21 09:58 root_dir2
-rw-r--r--. 1 root root 0 12月 21 09:58 root_file1
-rw-r--r--. 1 root root 0 12月 21 09:58 root_file2
注意,创建的root_file1、root_file2文件的权限都是644;创建的root_dir1、root_dir2目录的权限都是755。
到这里似乎可以得出一个结论:文件的权限默认是644,目录的默认权限是755。
[user1@linux30 fileSys]$ su - user1 ## 切换为user1用户
密码:
上一次登录:二 12月 21 10:01:27 CST 2021pts/0 上
[user1@linux30 ~]$ ll
总用量 0
[user1@linux30 ~]$ touch u1_file1 u1_file2 ## 创建两个文件
[user1@linux30 ~]$ mkdir u1_dir1 u1_dir2 ## 创建两个目录
[user1@linux30 ~]$ ls -ld u1_* ## 显示user1创建的文件和目录权限
drwxrwxr-x. 2 user1 user1 6 12月 21 10:04 u1_dir1
drwxrwxr-x. 2 user1 user1 6 12月 21 10:04 u1_dir2
-rw-rw-r--. 1 user1 user1 0 12月 21 10:04 u1_file1
-rw-rw-r--. 1 user1 user1 0 12月 21 10:04 u1_file2
这里创建的u1_file1、u1_file2文件的权限都是664;创建的u1_dir1、u1_dir2目录的权限都是775
可以给出一个结论:对于root用户,文件的默认权限是644,目录的默认权限是755;
对于普通用户,文件的默认权限是664,目录的默认权限是775这个默认权限是从哪里来的呢?
为什么root用户和普通用户的默认权限不同呢?
要想回答上面的问题,就需要引入umask概念,中文翻译为:遮罩。
Linux的权限控制总结
Linux权限类型:r(读)、w(写)、x(执行)
修改权限:chmod,a代表所有,u代表所有者,g代表组,0代表其他
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?