Linux 文件权限相关

文件权限相关

ls命令展示文件信息

  • ls -l
#命令
ls -l
#输出例子
-rw-r--r--   1   slynux   user   2456   2010-02-28   11:22   bot.py
drwxr-xr-x   2   slynux   user   5456   2010-05-28   17:22   a.py
-rw-r--r--   1   slynux   user   534    2010-02-12   09:22   c1.p1

  • 第一列表明文件类型
  • :普通文件
    d :目录·
    c:字符设备
    b :块设备
    l:符号链接
    s:套接字
    p:管道
  • 接下来的9个字符可以分为三组,每组三个字符。第一组三个字符对应用户权限(所有者);第二组对应用户组权限,第三组对应其他用户权限。
  • 三种常见的字符:
    r(read):如果设置表示该文件,设备或目录可读。
    w(write):如果设置,表明该文件,设备或目录可以被更改。(对于目录而言,定义了能否在该目录下删除或者创建文件)。
    x(execute):如果设置,表示该文件可执行。(对于目录:指定了能否访问目录下的文件)。
  • 用户权限:第一组的三个字符:数据文件:rw- ;可执行文件;rwx。用户还有一个称为setuid(S)的特殊权限,出现在x的位置,该权限允许可执行文件以其拥有者的权限来执行,即使该文件由其他用户运行。
  • 用户组权限:该组中并没有setuid,但是有一个setgid(S)位,允许使用与可执行文件所属组权限相同的有效组来运行该文件,但是这个组和实际发起命令的用户组未必相同。
  • 其他用户。

粘滞位(sticky bit)

  • 目录的特殊权限叫粘滞位。如果目录设置里粘滞位,只有创建该目录的用户才能删除目录中的文件,就算用户组和其他用户也有写权限,仍然无能为力。
  • 粘滞位出现在其他用户权限组中的执行权限(x)位置,使用、t或者T来表示。如果灭有设置执行权限,但是设置了粘滞位,就使用T,如果同时设置了执行权限和粘滞位,就使用t。
  • 典型例子:/tmp,任何人都可以在该目录中创建文件,但只有文件的所有者才能删除文件。

文件权限设置

chmod指令设置文件权限

  • 假如需要设置权限 rwx rw- r-
$ chmod u=rwx g=rw o=r filename
# u:指定用户权限
# g:指定用户组权限
# o:指定其他用户权限
  • 用+添加权限,用-取消权限
# 为已经具有rwx rw- r-的文件添加可执行权限
$ chmod o+x filename
# 给所有权限类别(即用户,用户组和其他用户)
$ chmod a+x filename
#其中a表示全部
# 删除权限
$ chmod a-x filename

用三位八进制数表示权限

  • 读,写和执行都有与之唯一对应的八进制数
    r=4
    w=2
    x=1
    将相加权限对应的八进制得到所需的权限组合。例如
    rw-=4+2=6
#rwx rw- r-- 等于764
$ chmod 764 filename

补充

更改文件所有权

  • chown命令更改文件或目录的所有权
$ chown user:group filename
#例如
$ chown slynux:user test.sh
# slynux是用户名,users是组名

设置粘滞位

  • 粘滞位应用于目录,设置粘滞位可以用chmod 的+t选项设置
$ chmod a+t directory_name

递归方式设置文件权限

  • chmod的-R选项实现以递归的方式修改当前目录下的文件和子目录的权限
$ chmod 777 . -R
#我们用.指定当前工作目录,等同于
$ chmod 777 "$(pwd)" -R

以递归方式设置所有权

$ chmod user:group . -R

以不同的身份运行可执行文件

  • setuid权限允许其他用户以文件所有者的身份来执行文件。首先需要将文件的所有权更改为需要执行该文件的用户,然后以该用户的身份登录,运行如下命令
$ chmod +s executable_file
# chown root:root executable_file
# chmod +s executable_file
$ ./executable_file 
  • setuid只能应用在Linux ELF格式的二进制文件中,不能对脚本设置。

将文件设置为不可修改

  • chatter可以用于更改扩展属性,可以将文件设置为不可修改,也可以修改其他属性来调节文件系统同步或压缩率。
  • 实例
# (1)使用chatter将文件设置为不可修改
 chatter +i file
 # (2)现在问价已经无法修改,可尝试如下命令
 rm file
 rm:cannot remove 'file':Operation not permitted
 #(3)如果需要使文件恢复可写状态,撤销不可修改属性
 chatter -i file

批量生成空白文件

  • touch命令可以用来生成空白文件或者是修改已有文件的时间戳。
  • 以下步骤来批量生成空白文件
# (1)调用touch命令并使用一个不存在的文件名作为参数,创建空白文件
$ touch filename
# (2)批量生成不同名字的空白文件
for name in {1..100}.txt
do 
  touch $name
done
  • 如果文件已经存在,那么touch命令将会月该文件相关的所有时间戳都更改为当前时间,如果只想要更改某些时间戳,则可以使用如下选项
    touch -a :只更改文件访问时间
    touch -m:只更改文件修改时间
  • 除了将时间戳更改为当前时间,还能够指定特定的时间和日期
$ touch -d "Fri Jun 25 20:50:14 IST 1999" filename
# -d使用的日期串不需要是严格的格式,可以接受多种短格式日期。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
资源包主要包含以下内容: ASP项目源码:每个资源包中都包含完整的ASP项目源码,这些源码采用了经典的ASP技术开发,结构清晰、注释详细,帮助用户轻松理解整个项目的逻辑和实现方式。通过这些源码,用户可以学习到ASP的基本语法、服务器端脚本编写方法、数据库操作、用户权限管理等关键技术。 数据库设计文件:为了方便用户更好地理解系统的后台逻辑,每个项目中都附带了完整的数据库设计文件。这些文件通常包括数据库结构图、数据表设计文档,以及示例数据SQL脚本。用户可以通过这些文件快速搭建项目所需的数据库环境,并了解各个数据表之间的关系和作用。 详细的开发文档:每个资源包都附有详细的开发文档,文档内容包括项目背景介绍、功能模块说明、系统流程图、用户界面设计以及关键代码解析等。这些文档为用户提供了深入的学习材料,使得即便是从零开始的开发者也能逐步掌握项目开发的全过程。 项目演示与使用指南:为帮助用户更好地理解和使用这些ASP项目,每个资源包中都包含项目的演示文件和使用指南。演示文件通常以视频或图文形式展示项目的主要功能和操作流程,使用指南则详细说明了如何配置开发环境、部署项目以及常见问题的解决方法。 毕业设计参考:对于正在准备毕业设计的学生来说,这些资源包是绝佳的参考材料。每个项目不仅功能完善、结构清晰,还符合常见的毕业设计要求和标准。通过这些项目,学生可以学习到如何从零开始构建一个完整的Web系统,并积累丰富的项目经验。
资源包主要包含以下内容: ASP项目源码:每个资源包中都包含完整的ASP项目源码,这些源码采用了经典的ASP技术开发,结构清晰、注释详细,帮助用户轻松理解整个项目的逻辑和实现方式。通过这些源码,用户可以学习到ASP的基本语法、服务器端脚本编写方法、数据库操作、用户权限管理等关键技术。 数据库设计文件:为了方便用户更好地理解系统的后台逻辑,每个项目中都附带了完整的数据库设计文件。这些文件通常包括数据库结构图、数据表设计文档,以及示例数据SQL脚本。用户可以通过这些文件快速搭建项目所需的数据库环境,并了解各个数据表之间的关系和作用。 详细的开发文档:每个资源包都附有详细的开发文档,文档内容包括项目背景介绍、功能模块说明、系统流程图、用户界面设计以及关键代码解析等。这些文档为用户提供了深入的学习材料,使得即便是从零开始的开发者也能逐步掌握项目开发的全过程。 项目演示与使用指南:为帮助用户更好地理解和使用这些ASP项目,每个资源包中都包含项目的演示文件和使用指南。演示文件通常以视频或图文形式展示项目的主要功能和操作流程,使用指南则详细说明了如何配置开发环境、部署项目以及常见问题的解决方法。 毕业设计参考:对于正在准备毕业设计的学生来说,这些资源包是绝佳的参考材料。每个项目不仅功能完善、结构清晰,还符合常见的毕业设计要求和标准。通过这些项目,学生可以学习到如何从零开始构建一个完整的Web系统,并积累丰富的项目经验。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值