加入收藏 | 设为首页 | 会员中心 | 我要投稿 我爱资讯网 (https://www.52junxun.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 服务器 > 搭建环境 > Unix > 正文

UNIX 文件权限管理

发布时间:2023-02-10 14:09:30 所属栏目:Unix 来源:
导读:  在本章中,我们将详细讨论Unix中的文件访问权限,文件所有权是Unix的重要组成部分,它提供了一种安全的文件存储方法。 Unix中的每个文件都具有以下属性:

  查看文件权限

  使用 ls -l 命令时,它显示
  在本章中,我们将详细讨论Unix中的文件访问权限,文件所有权是Unix的重要组成部分,它提供了一种安全的文件存储方法。 Unix中的每个文件都具有以下属性:
 
  查看文件权限
 
  使用 ls -l 命令时,它显示与文件所有权相关的各种信息,如下所示-
 
   $ls -l /home/bytekits
   -rwxr-xr--  1 bytekits   users 1024  Nov 2 00:10  myfile
   drwxr-xr--- 1 bytekits   users 1024  Nov 2 00:10  mydir
  权限分为三部分,每组中的每个位置代表一个特定的权限,顺序为:读取(r),写入(w),执行(x)-
 
  文件存取模式
 
  文件的权限是Unix系统安全性的第一道防线。 Unix权限的基本构建块是 read , write 和 execute 权限,下面对此进行了介绍-
 
  目录访问模式
 
  目录访问模式的列出和组织方式与其他任何文件相同,有一些差异需要提及:
 
  更改权限
 
  要更改文件或目录权限,请使用 chmod (更改模式) 命令。有两种使用chmod的方法 - 符号模式和绝对模式。
 
  符号模式chmod
 
  初学者修改文件或目录权限的最简单方法是使用符号模式。使用符号权限,您可以使用下表中的运算符来添加,删除或指定所需的权限集。
 
  NO操作说明
 
  1
 
  +
 
  增加指定权限
 
  2
 
  -
 
  删除指定权限。
 
  3
 
  =
 
  赋值指定权限。
 
  这是使用 testfile 的示例。在测试文件上运行 ls -1 表示文件的权限如下-
 
   $ls -l testfile
   -rwxrwxr--  1 bytekits   users 1024  Nov 2 00:10  testfile
  然后,下表中的每个示例 chmod 命令都在测试文件上运行,然后是 ls -l ,因此您可以看到权限更改-
 
   $chmod o+wx testfile
   $ls -l testfile
   -rwxrwxrwx  1 bytekits   users 1024  Nov 2 00:10  testfile
   $chmod u-x testfile
   $ls -l testfile
   -rw-rwxrwx  1 bytekits   users 1024  Nov 2 00:10  testfile
   $chmod g=rx testfile
   $ls -l testfile
   -rw-r-xrwx  1 bytekits   users 1024  Nov 2 00:10  testfile
  这是您如何在一行上合并这些命令的方法-
 
    $chmod o+wx,u-x,g=rx testfile
    $ls -l testfile
    -rw-r-xrwx  1 bytekits   users 1024  Nov 2 00:10  testfile
  绝对模式chmod
 
  使用chmod命令修改权限的第二种方法是使用数字来指定文件的每组权限。
 
  如下表所示,为每个权限分配了一个值,每组权限的总数为该权限集提供了一个数字。
 
  NO八进制权限表示操作
 
  0
 
  没有权限
 
  -—
 
  1
 
  执行权限
 
  --x
 
  2
 
  写入权限
 
  -w-
 
  3
 
  执行+写入权限,1 (execute) + 2 (write)=3
 
  -wx
 
  4
 
  读取权限
 
  r—
 
  5
 
  读取+执行权限,4 (read) + 1 (execute)=5
 
  r-x
 
  6
 
  读取+写入权限,4 (read) + 2 (write)=6
 
  rw-
 
  7
 
  读/写/执行权限, 4 (read) + 2 (write) + 1 (execute)=7
 
  rwx
 
  这是使用测试文件的示例。在测试文件上运行 ls -1 表示文件的权限如下-
 
   $ls -l testfile
   -rwxrwxr--  1 bytekits   users 1024  Nov 2 00:10  testfile
  然后,上表中的每个示例 chmod 命令都在测试文件上运行,然后是 ls -lUNIX 文件管理,因此您可以看到权限更改-
 
   $chmod 755 testfile
   $ls -l testfile
   -rwxr-xr-x  1 bytekits   users 1024  Nov 2 00:10  testfile
   $chmod 743 testfile
   $ls -l testfile
   -rwxr---wx  1 bytekits   users 1024  Nov 2 00:10  testfile
   $chmod 043 testfile
   $ls -l testfile
   ----r---wx  1 bytekits   users 1024  Nov 2 00:10  testfile
  更改所有者和组
 
  在Unix上创建帐户时,它为每个用户分配所有者ID 和组ID 。上面提到的所有权限也都是根据所有者和组分配的。
 
  有两个命令可用于更改所有者和文件组-
 
  改变所有权
 
  chown 命令更改文件的所有权。基本语法如下:
 
   $chown user filelist
  用户的值可以是系统上用户的名称或系统上用户的用户ID(uid)。
 
  以下示例将帮助您理解概念:
 
      $chown bytekits testfile
      $
  将给定文件的所有者更改为用户 bytekits 。
 
  更改组所有权
 
  chgrp 命令更改文件的组所有权。基本语法如下-
 
    $chgrp group filelist
  group的值可以是系统上组的名称或系统上组的组ID(GID)。
 
  以下示例可帮助您理解概念-
 
    $chgrp special testfile
    $
  将给定文件的组更改为special组。
 
  SUID和SGID文件权限
 
  通常,执行命令时,必须以特殊特权执行命令才能完成其任务。
 
  如当您使用 passwd 命令更改密码时,新密码将存储在文件/etc/shadow 中。
 
  作为普通用户,出于安全原因,您没有对该文件的 read 或 write 访问权限,但是在更改密码时,您需要对此文件具有写权限文件。这意味着 passwd程序必须为您提供其他权限,以便您可以写入文件/etc/shadow 。
 
  如,命令
 
   $ls -l /usr/bin/passwd
   -r-sr-xr-x  1   root   bin  19031 Feb 7 13:47  /usr/bin/passwd*
   $
  显示SUID位置1,并且该命令归根所有,要为任何目录设置SUID和SGID位,请尝试以下命令-
 
   $chmod ug+s dirname
   $ls -l
   drwsr-sr-x 2 root root  4096 Jun 19 06:45 dirname
   $
 

(编辑:我爱资讯网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章