Linux权限管理(1)基本权限

简介: 一、文件类型与权限-rwxrw-r--第1个字符表示文件类型若是 - ,表示是普通文件若是 d ,表示是目录若是 l ,表示是链接文件若是 b ,表示是设备文件里的可供存储的接口设备若是 c ,表示是设备文件里的串行端口设备,例如鼠标、键盘第2至4个字符是一组,表示所有者权限(u)第5至7个字符是一组,表示所属组权限(g)第8至10个字符是一组,表示其他人权限(o)每组中,r 表示读权限,w 表示写权限,x 表示执行权限。


一、文件类型与权限



-rwxrw-r--

  • 第1个字符表示文件类型
  • 若是 - ,表示是普通文件
  • 若是 d ,表示是目录
  • 若是 l ,表示是链接文件
  • 若是 b ,表示是设备文件里的可供存储的接口设备
  • 若是 c ,表示是设备文件里的串行端口设备,例如鼠标、键盘
  • 第2至4个字符是一组,表示所有者权限(u
  • 第5至7个字符是一组,表示所属组权限(g
  • 第8至10个字符是一组,表示其他人权限(o
  • 每组中,r 表示读权限,w 表示写权限,x 表示执行权限。


二、权限的作用



1. 权限对文件的作用

r:读取文件内容,常用命令有 cat more head tail

w:编辑、增加、清空文件内容,常用命令有 vivim但是不包括删除该文件

x:可以执行文件


2. 权限对目录的作用

r:可以查看目录下的文件,常用命令有 ls

w:具有修改目录结构的权限。如在此目录下新建文件和目录,删除此目录下的文件和目录,重命名此目录下的文件和目录。常用命令有 touchrmmvcp

x:可以进入目录


三、umask 文件权限掩码



1. 语法

umask [权限掩码]
若没有 [权限掩码] 参数,则为查看umask值命令若有 [权限掩码] 参数,则为修改umask值命令(临时修改,退出登录后失效)

root 用户umask值默认为 0022,非root用户umask值默认为 0002

umask值 0022,第一位0表示文件特殊权限掩码,022表示文件普通权限掩码


注意

  • 文件最高权限为666
  • 目录最高权限为777
  • 权限不能使用数字进行换算,必须转换为字母再进行计算
  • umask定义的权限,是系统默认权限中准备丢弃的权限


2. 修改 umask 的值

临时修改,退出登录后失效

umask [权限掩码]

永久修改

  • /etc/profile
# By default, we want umask to get set. This sets it for login shell
# Current threshold for system reserved uid/gids is 200
# You could check uidgid reservation validity in
# /usr/share/doc/setup-*/uidgid file
if [ $UID -gt 199 ] && [ "`/usr/bin/id -gn`" = "`/usr/bin/id -un`" ]; then
    umask 002
else
    umask 022
fi
...省略其他部分...


3. 文件(目录)默认权限的计算方式


文件默认权限

文件默认不能建立为可执行文件,必须手工赋予执行权限所以,文件默认权限用字符表示最大为 rw-rw-rw-

1.若umask 值为 0022 文件的普通权限掩码 022 转换为字母 ----w--w-

rw-rw-rw- - ----w--w- = rw-r--r--

2.若umask 值为 0033 文件的普通权限掩码 033 转换为字母 ----wx-wx

rw-rw-rw- - ----wx-wx = rw-r--r--


目录默认权限

目录默认权限用字符表示最大为 rwxrwxrwx

1.若umask 值为 0022 文件的普通权限掩码 022 转换为字母 ----w--w-

rwxrwxrwx - ----w--w- = rwxr-xr-x

2.若umask 值为 0033 文件的普通权限掩码 033 转换为字母 ----wx-wx

rwxrwxrwx - ----wx-wx = rwxr--r--


实例

  • 查看当前umask值为 0022
[root/tmp/tmp]# umask
0022
  • 创建文件,默认权限为 rw-r--r--
[root/tmp/tmp]# touch 0022
[root/tmp/tmp]# ll
总用量 0
-rw-r--r-- 1 root root 0 6月   6 11:29 0022
  • 创建目录,默认权限为 rwxr-xr-x
[root/tmp/tmp]# mkdir 0022_dir
[root/tmp/tmp]# ll -d 0022_dir
drwxr-xr-x 2 root root 6 6月   6 11:30 0022_dir/
  • 将umask值修改为 0033
[root/tmp/tmp]# umask 0033
[root/tmp/tmp]# umask
0033
  • 创建文件,默认权限为 rw-r--r--
[root/tmp/tmp]# touch 0033
[root/tmp/tmp]# ll 0033
-rw-r--r-- 1 root root 0 6月   6 11:32 0033
  • 创建目录,默认权限为 rwxr--r--
[root/tmp/tmp]# mkdir 0033_dir
[root/tmp/tmp]# ll -d 0033_dir
drwxr--r-- 2 root root 6 6月   6 11:33 0033_dir/


四、chmod 修改文件权限



1. 语法

chmod [选项] [模式] [文件名]


选项

-R:递归

模式

  1. [ugoa] [+-=] [rwx]
  2. [421]


2. 权限的数字表示

  • r => 4 (读权限)
  • w => 2 (写权限)
  • x => 1 (执行权限)

例如,rwxrw-r-- 权限使用数字表示文 764


3. 实例

为文件所有者(u)添加(+)执行权限(x)

[root/tmp/tmp]# ll
总用量 4.0K
-rw-r--r-- 1 root root 43 6月   5 11:13 file
[root/tmp/tmp]# chmod u+x file
[root/tmp/tmp]# ll
总用量 4.0K
-rwxr--r-- 1 root root 43 6月   5 11:13 file*

为文件所属组(g)添加(+)写(w)和执行(x)权限,删除(-)其他人(o)的读权限(r)

[root/tmp/tmp]# chmod g+wx,o-r file
[root/tmp/tmp]# ll
总用量 4.0K
-rwxrwx--- 1 root root 43 6月   5 11:13 file*

将文件所属组(g)权限设为(=)可读可写(rw),将其他人(o)权限设为(=)只读(r)

[root/tmp/tmp]# chmod g=rw,o=r file
[root/tmp/tmp]# ll
总用量 4.0K
-rwxrw-r-- 1 root root 43 6月   5 11:13 file*

递归地将目录及目录下所有文件权限设为 755

[root/tmp/tmp]# mkdir dir
[root/tmp/tmp]# touch dir/file1
[root/tmp/tmp]# touch dir/file2
[root/tmp/tmp]# ll -d dir
drwxr-xr-x 2 root root 30 6月   6 10:23 dir/
[root/tmp/tmp]# ll dir
总用量 0
-rw-r--r-- 1 root root 0 6月   6 10:23 file1
-rw-r--r-- 1 root root 0 6月   6 10:23 file2
[root/tmp/tmp]# chmod -R 755 dir/
[root/tmp/tmp]# ll -d dir
drwxr-xr-x 2 root root 30 6月   6 10:23 dir/
[root/tmp/tmp]# ll dir
总用量 0
-rwxr-xr-x 1 root root 0 6月   6 10:23 file1*
-rwxr-xr-x 1 root root 0 6月   6 10:23 file2*

递归修改目录下所有目录的权限为755,目录下所有文件权限为644

find <directory> -type d -exec chmod 755 {} \;
find <directory> ! -type d -exec chmod 644 {} \;


五、chown 修改文件所有者



1. 语法

# 只修改文件的所有者
chown [选项] [所有者] [文件名]
# 同时修改文件的所有者和所属组
chown [选项] [所有者]:[所属组] [文件名]

选项

-R:递归


2. 实例

只修改文件的所有者

[root/tmp/tmp]# ll
总用量 4.0K
drwxr-xr-x 2 root root 30 6月   6 10:23 dir/
-rwxrw-r-- 1 root root 43 6月   5 11:13 file*
[root/tmp/tmp]# chown wang file
[root/tmp/tmp]# ll file
-rwxrw-r-- 1 wang root 43 6月   5 11:13 file*

递归地修改目录及目录下所有文件的所有者和所属组

[root/tmp/tmp]# chown -R wang:users dir/
[root/tmp/tmp]# ll -d dir
drwxr-xr-x 2 wang users 30 6月   6 10:23 dir/
[root/tmp/tmp]# ll dir
总用量 0
-rwxr-xr-x 1 wang users 0 6月   6 10:23 file1*
-rwxr-xr-x 1 wang users 0 6月   6 10:23 file2*


六、chgrp 修改文件的所属组



1. 语法

chgrp [选项] [所属组] [文件名]

选项

-R:递归


2. 实例

递归地修改目录及目录下所有文件的所有者和所属组

[root/tmp/tmp]# chgrp -R root dir/
[root/tmp/tmp]# ll -d dir
drwxr-xr-x 2 wang root 30 6月   6 10:23 dir/
[root/tmp/tmp]# ll dir
总用量 0
-rwxr-xr-x 1 wang root 0 6月   6 10:23 file1*
-rwxr-xr-x 1 wang root 0 6月   6 10:23 file2*
相关文章
|
5天前
|
安全 Unix Linux
【Linux权限】—— 于虚拟殿堂,轻拨密钥启华章
25000多字详细讲解,深度剖析权限管理核心。从基础权限到复杂的特殊权限,逐一拆解,无论你是零基础小白还是经验丰富的运维人员,都能在这里找到提升技能的关键知识,全面掌握 Linux 权限管理。还不快来看看?
|
10天前
|
安全 Linux 数据安全/隐私保护
Linux权限揭秘“Root与Sudo”
Root用户是Linux系统中的超级用户,拥有对系统的完全控制权。Root用户几乎可以执行任何命令,修改任何文件,甚至删除系统上的所有内容。因此,Root用户的使用需要非常谨慎,以避免潜在的安全风险。
26 6
|
3月前
|
安全 Linux 数据安全/隐私保护
深入Linux操作系统:文件系统和权限管理
在数字世界的海洋中,操作系统是连接用户与硬件的桥梁,而Linux作为其中的佼佼者,其文件系统和权限管理则是这座桥梁上不可或缺的结构。本文将带你探索Linux的文件系统结构,理解文件权限的重要性,并通过实际案例揭示如何有效地管理和控制这些权限。我们将一起航行在Linux的命令行海洋中,解锁文件系统的奥秘,并学习如何保护你的数据免受不必要的访问。
|
4月前
|
Linux 数据安全/隐私保护
linux特殊权限!!
本文介绍了Linux系统中的特殊权限,包括suid、sgid和sbit。suid使普通用户在执行特定命令时获得root权限;sgid使用户在创建文件时继承目录的用户组权限;sbit确保用户只能删除自己在共享目录中创建的文件。此外,文章还讲解了chattr和lsattr命令,用于更改和查看文件的扩展属性,以及umask的概念和计算方法,帮助理解文件和目录的默认权限。
97 1
linux特殊权限!!
|
4月前
|
Linux 数据安全/隐私保护
linux权限管理
本文介绍了Linux系统中的权限管理,包括权限的概念、用户和用户组与权限的关系、文件权限位的说明以及rwx权限的具体含义。同时,详细讲解了如何使用`chmod`和`chown`命令更改文件和目录的权限,并通过多个实验演示了不同权限组合对文件和目录的实际影响。最后,总结了文件和目录权限的一些重要知识点,帮助读者更好地理解和应用Linux权限管理。
162 1
linux权限管理
|
5月前
|
Linux 应用服务中间件 nginx
Linux下权限设置之suid、sgid、sticky
Linux下权限设置之suid、sgid、sticky
|
5月前
|
Linux 数据安全/隐私保护 Windows
Linux_权限理解(详细PLUS
Linux_权限理解(详细PLUS
|
5月前
|
网络协议 Linux 网络安全
【Linux】用户和权限及实用操作------迅速了解用户和权限及其实用操作
【Linux】用户和权限及实用操作------迅速了解用户和权限及其实用操作
|
21天前
|
Linux
Linux系统之whereis命令的基本使用
Linux系统之whereis命令的基本使用
56 23
Linux系统之whereis命令的基本使用
|
8天前
|
缓存 Ubuntu Linux
Linux中yum、rpm、apt-get、wget的区别,yum、rpm、apt-get常用命令,CentOS、Ubuntu中安装wget
通过本文,我们详细了解了 `yum`、`rpm`、`apt-get`和 `wget`的区别、常用命令以及在CentOS和Ubuntu中安装 `wget`的方法。`yum`和 `apt-get`是高层次的包管理器,分别用于RPM系和Debian系发行版,能够自动解决依赖问题;而 `rpm`是低层次的包管理工具,适合处理单个包;`wget`则是一个功能强大的下载工具,适用于各种下载任务。在实际使用中,根据系统类型和任务需求选择合适的工具,可以大大提高工作效率和系统管理的便利性。
64 25