博客
关于我
Linux文件权限详解
阅读量:250 次
发布时间:2019-03-01

本文共 1705 字,大约阅读时间需要 5 分钟。

Linux档案属性与权限管理

在使用Linux系统时,理解档案的属性和权限管理是非常重要的操作。以下从基础知识出发,逐步介绍档案的类型、权限设置以及权限管理的命令。

1. Linux档案的基本属性

在Linux系统中,档案的属性信息可以通过ls -al命令查看。以下是ls -al命令输出的示例:

-rw-r--r-- 1 root root 161 12月 5 2019 .profile

1.1 档案类型及权限

  • 第一个字符:表示档案的类型。

    • d:目录
    • -:普通档案
    • l:连接档(symbolic link)
    • bc:设备档(block device或character device)
    • s:套接字(socket)
    • p:命名管道(pipe)
  • 接下来的字符:每三个字符表示一组权限,分别对应“所有者”、“所属组”和“其他用户”。

    • 每组权限由r(读取)、w(写入)、x(执行)三个状态组成。

    • 如果某个权限状态不存在,则用-表示。

    • 第一组:所有者权限

    • 第二组:所属组的权限

    • 第三组:其他用户的权限

1.2 其他属性

  • 第二部分:i-node的链接计数器,表示有多少档名指向这个i-node。
  • 第三部分:档案的所有者账号。
  • 第四部分:档案所属的群组名称。
  • 第五部分:档案的大小(以字节为单位)。
  • 第六部分:档案的创建或修改日期。
  • 第七部分及以后:档名,隐藏档案前有.

2. 更改档案属性及权限

Linux系统提供了以下三个命令来管理档案的属性和权限:

2.1 chgrp:更改档案所属群组

  • 命令格式
    chgrp [-R] 
    <群组名>
    <档案或目录>
  • 选项
    • -R:递归修改,修改指定目录及其子目录下的所有档案。

示例

# 将test.cfg的所属群组改为userssudo chgrp users test.cfg

2.2 chown:更改档案拥有者

  • 命令格式
    chown [-R] 
    <所有者账号>
    [
    <所有者账号>
    :
    <群组名>
    ]
    <档案或目录>
  • 选项
    • -R:递归修改。

示例

# 将test.cfg的拥有者改为test,所属组保持不变sudo chown test test.cfg

2.3 chmod:改变档案权限

  • 权限表示方式

    • 数字形式:如777,每组权限的数字值分别为:
      • r:4
      • w:2
      • x:1
    • 符号形式:如-rwxr-x---+-可用于增减权限。
  • 命令格式

    chmod [-R] 
    <权限模式>
    <档案或目录>

示例

# 将test.cfg的权限改为可读、可写但不可执行sudo chmod 660 test.cfg

2.4 常用权限模式

  • ---:只读权限
  • --x:不可写但可执行
  • ---x:不可读、不可写但可执行
  • r--r--r--:所有人都不可写

3. 权限对档案和目录的意义

3.1 档案权限的意义

  • 可读(r):可以查看档案内容。
  • 可写(w):可以修改档案内容。
  • 可执行(x):可以运行该档案(如可执行程序)。

3.2 目录权限的意义

  • 可读(r):可以列出目录下的档名。
  • 可写(w):可以创建、重命名或删除档名。
  • 可执行(x):可以切换到该目录。

注意:目录的x权限决定了是否可以访问该目录。


4. 档案种类与副文件名

4.1 档案类型

  • 常规文件(regular file):第一个字符为-
    • 文本文件(ASCⅡ)
    • 二进制文件
    • 数据文件
  • 目录(directory):第一个字符为d
  • 连接档(link):第一个字符为l
  • 设备档:第一个字符为b(块设备)或c(字符设备)。
  • 套接字(socket):第一个字符为s
  • 命名管道(pipe):第一个字符为p

4.2 Linux文件的副文件名

在Linux中,文件的可执行性由权限决定,与文件名无关。常见的文件类型及其副文件名包括:

  • 脚本文件(shell scripts).sh
  • 压缩文件.Z, .tar.gz, .zip, .tgz
  • 网页文件.html, .php

通过合理设置档案和目录的权限,可以有效地管理文件系统的安全性和访问权限。

转载地址:http://mntx.baihongyu.com/

你可能感兴趣的文章
PyQt5 和 asyncio:从永不完成的收益
查看>>
PyQt5 和 Django:如何使用 HTTP 请求(Multipart-form)上传图像?
查看>>
PyQt5 按钮运行功能和更新 LCD
查看>>
pyqt5 获取Qlabel中的图片并对其进行处理(包括Qimage转换为Mat)
查看>>
pyqt5 设置控件在最上层或者在下层
查看>>
pyqt5 设置网格布局的间距
查看>>
pyTorch Hub 系列#4:PGAN — GAN 模型
查看>>
PyQt5-基本窗口控件-QMainWindow
查看>>
PyQt5:如何安装/运行 Qt 设计器
查看>>
PyQt5——pyqtgraph绘图大招
查看>>
PyQt5——多窗口之间数据处理
查看>>
PyQt5——多线程、信号与槽
查看>>
PyQt5——开发地图软件
查看>>
PyQt5——装饰器信号与槽
查看>>
PyQt5——软件密码登陆跳转主界面
查看>>
PyQt5——通过信号与槽进行数据传输
查看>>
PyQt5“定时器不能从另一个线程启动“更改 QLabel 的大小时出错
查看>>
pyqt5不显示窗口
查看>>
pyqt5任意组件的拖拽问题
查看>>
SpringBoot中集成MobileIMSDK并实现记录所有用户以实现消息群发
查看>>