Linux

关注公众号 jb51net

关闭
首页 > 网站技巧 > 服务器 > Linux > Linux权限的概念

Linux权限的概念及用法说明

作者:zzh_zao

文章简要介绍了Linux用户分类(root与普通用户)及权限管理,涵盖文件类型、基本权限(读/写/执行)、权限设置命令(chmod、chown、chgrp)、umask作用、粘滞位概念,强调权限认定规则与目录操作权限的特殊性

一.用户的分类

Linux下有两种用户:超级用户(root)、普通用户。

超级用户的命令提示符是“#”,普通用户的命令提示符是“$”。

例如,要从root用户切换到普通用户user,则使用 su user。

要从普通用户user切换到root用户则使用 su root(root可以省略),此时系统会提示输入root用户的口令。

Linux中,无论是root 用户 还是 普通用户 都必须要有密码。

如果仅仅相对一条指令进行提权,可以 sudo command (在系统信任白名单时的操作)

二.Linux权限管理

文件访问者的分类

文件类型和访问权限

文件类型

基本权限

“—”表示不具有该项权限

位置是什么含义是确定的,每一个位置只有是或否,具有确定的权限

在进行权限认定的时候,只按照其中一个用户进行认定,即当一个角色是两个用户时按照其中一个来算。

八进制表示

第二到第十位,每三个代表一个用户权限。每一位用户只有三种权限,因此可以使用八进制表示所拥有的权限

文件访问权限的相关设置

1.chmod

权限类型

权限作用对象

数字表示法

基本语法

chmod [参数] 权限设置 文件/目录名

常见选项

R -> 递归修改目录文件的权限 

说明:只有文件的拥有者和root才可以改变文件的权

常见用法:

数字方式修改权限

# 赋予文件所有者读、写、执行权限,组用户读、执行权限,其他用户读权限
chmod 754 filename

# 让文件所有用户都拥有读、写、执行权限
chmod 777 filename

# 为目录赋予所有者读、写、执行权限,组用户和其他用户读、执行权限
chmod 755 directory

符号方式修改权限

用户表示符+/-=权限字符

# 给文件所有者添加执行权限
chmod u+x filename

# 移除文件组用户的写入权限
chmod g-w filename

# 让其他用户拥有和组用户一样的权限
chmod o=g filename

# 给所有用户添加读取权限
chmod a+r filename

递归修改目录权限

# 递归地给目录及其包含的所有文件赋予 755 权限
chmod -R 755 directory

参考其他文件修改权限

# 让 file1 的权限和 file2 相同
chmod --reference=file2 file1

2.chown

chown 功能:修改文件的拥有者

格式:chown [参数] 用户名 文件名

# chown user1 f1
# chown -R user1 filegroup1

需要 root 权限:普通用户无法使用 chown 命令,必须通过 sudo 或以 root 用户身份执行。

3.chgrp

实例:

chgrp users /abc/f2

4.umask

功能:

但实际上你所创建的文件和目录,看到的权限往往不是上面这个值。原因就是创建文件或目录的时候还要受到umask的影响。

假设默认权限是mask,则实际创建的出来的文件权限是: mask & ~umask 最终权限 = 起始权限 & (~umask)凡是在权限掩码中出现的权限,都不会在最终权限中出现。

格式:umask 权限值

说明:将现有的存取权限减去权限掩码后,即可产生建立文件时预设权限。超级用户默认掩码值为0022,普通用户默认为0002。

目录的权限

r:是否允许我们查看指定目录下的文件

w:是否允许我们在当前目录下进行创建,更改,删除

x:是否允许用户进入对应的目录

  1. 普通用户的家目录权限是700,我在我的家目录中创建的文件,别人看不到。
  2. 有时候,多个用户要进行文件的传输,所以共享文件不能位任何一个人的家目录下的文件。
  3. 文件能否删除,不由文件本身决定,而是由文件所处的目录w决定。
  4. 如果移除共享目录的w权限,则同时无法创建文件,则无法共享。
  5. 粘滞位:给目录设置,一般为共享目录,大家都可以对目录中的文件进行增删查改,但只有文件拥有者和root能删除这个文件,其他人不可以。``其他用户权限x会变为t`
  6. 当一个目录被设置为"粘滞位"(用chmod +t),则该目录下的文件只能由超级管理员删除 ,该目录的所有者删除 ,该文件的所有者删除

权限的总结

目录的可执行权限是表示你可否在目录下执行命令。

如果目录没有-x权限,则无法对目录执行任何命令,甚至无法cd 进入目, 即使目录仍然有-r 读权限(这个地方很容易犯错,认为有读权限就可以进入目录读取目录下的文件)

而如果目录具有-x权限,但没有-r权限,则用户可以执行命令,可以cd进入目录。但由于没有目录的读权限

所以在目录下,即使可以执行ls命令,但仍然没有权限读出目录下的文档。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文