Linux文件权限

chmod

chmod = change mode (更改权限)

[root@xxlinux-02 02]# ls -l
总用量 12
-rw-r--r--. 1 root root   15 6月   7 22:57 3.txt
-rw-r--r--. 1 root root 1008 6月   7 22:05 passwd
-rw-r--r--. 1 root root 1008 6月   7 22:05 passwd01

第一列部分总共11位:

 第1位: 表示文件类型
  
 第2位到第10位共9位:表示文件的权限.2-4位是所有者权限,5-7位是所属组权限,8-10是其他用户权限
    
 在SELinux开启的情况下创建的文件或者目录才会有 “.”

r = 4,w = 2 ,x = 1

常用用法:

  • chmod xxx 文件名/目录名(xxx表示数字)
[root@xxlinux-02 02]# chmod 666 3.txt
[root@xxlinux-02 02]# ls -l
总用量 12
-rw-rw-rw-. 1 root root   15 6月   7 22:57 3.txt
-rw-r--r--. 1 root root 1008 6月   7 22:05 passwd
-rw-r--r--. 1 root root 1008 6月   7 22:05 passwd01
  • chmod -R xxx 目录名(xxx表示数字):级联更改,更改目录及目录下的所有子目录和文件的权限
[root@xxlinux-02 xxlinux]# ls -l 02
总用量 12
-rw-rw-rw-. 1 root root   15 6月   7 22:57 3.txt
-rw-r--r--. 1 root root 1008 6月   7 22:05 passwd
-rw-r--r--. 1 root root 1008 6月   7 22:05 passwd01
[root@xxlinux-02 xxlinux]# chmod -R 755 02
[root@xxlinux-02 xxlinux]# ls -l 02
总用量 12
-rwxr-xr-x. 1 root root   15 6月   7 22:57 3.txt
-rwxr-xr-x. 1 root root 1008 6月   7 22:05 passwd
-rwxr-xr-x. 1 root root 1008 6月   7 22:05 passwd01
  • chmod u=rwx,g=rx,o=rx 文件/目录 . u 表示 所有者,g 代表所属组,o代表其他用户

相当于 ”chmod 755 文件/目录“

  • “chmod a+r/w/x 文件/目录“ 或者 ”chmod a-r/w/x 文件/目录“

    “a”代表所有=ugo “a”的位置同样可以换成 u ,g,o


更改所有者所属组

chown(chown= change owner) chgrp(chgrp=change group)

语法: chown 用户名 文件名 // chown 用户名:组名 文件名
语法: chgrp 组名 文件/目录

用法:

  • chown 用户名 文件/目录 (更改文件/目录所有者)
[root@xxlinux-02 ~]# ll
总用量 4
-rw-r--r--. 1 root root    0 6月  10 00:26 1.txt
-rw-------. 1 root root 1422 5月  26 07:57 anaconda-ks.cfg
[root@xxlinux-02 ~]# chown xx 1.txt
[root@xxlinux-02 ~]# ll
总用量 4
-rw-r--r--. 1 xx   root    0 6月  10 00:26 1.txt
-rw-------. 1 root root 1422 5月  26 07:57 anaconda-ks.cfg
  • chgrp 组名 文件/目录 (更改文件目录所属组)
[root@xxlinux-02 ~]# ll
总用量 4
-rw-r--r--. 1 xx   root    0 6月  10 00:26 1.txt
-rw-------. 1 root root 1422 5月  26 07:57 anaconda-ks.cfg
[root@xxlinux-02 ~]# chgrp xx 1.txt
[root@xxlinux-02 ~]# ll
总用量 4
-rw-r--r--. 1 xx   xx      0 6月  10 00:26 1.txt
-rw-------. 1 root root 1422 5月  26 07:57 anaconda-ks.cfg
  • chown 用户名:组名 文件/目录 ( 更改文件/目录 所有者和所属组)
[root@xxlinux-02 ~]# ll
总用量 4
-rw-r--r--. 1 xx   xx      0 6月  10 00:26 1.txt
drwxr-xr-x. 2 root root    6 6月  10 00:34 abc
-rw-------. 1 root root 1422 5月  26 07:57 anaconda-ks.cfg
[root@xxlinux-02 ~]# chown xx:testx abc
[root@xxlinux-02 ~]# ll
总用量 4
-rw-r--r--. 1 xx   xx       0 6月  10 00:26 1.txt
drwxr-xr-x. 2 xx   testx    6 6月  10 00:34 abc
-rw-------. 1 root root  1422 5月  26 07:57 anaconda-ks.cfg
  • chown :组名 文件/目录 (更改文件/目录所属组)
[root@xxlinux-02 ~]# ll
总用量 4
-rw-r--r--. 1 xx   xx       0 6月  10 00:26 1.txt
drwxr-xr-x. 2 xx   testx    6 6月  10 00:34 abc
-rw-------. 1 root root  1422 5月  26 07:57 anaconda-ks.cfg
[root@xxlinux-02 ~]# chown :root abc
[root@xxlinux-02 ~]# ll
总用量 4
-rw-r--r--. 1 xx   xx      0 6月  10 00:26 1.txt
drwxr-xr-x. 2 xx   root    6 6月  10 00:34 abc
-rw-------. 1 root root 1422 5月  26 07:57 anaconda-ks.cfg

选项“-R”表示级联更改,更改目录及目录下所有子目录和文件


umask

umask :决定文件/目录的默认权限

  1. 执行 umask 命令可以查看 umask 的值
[root@xxlinux-02 ~]# umask
0022
  1. .新建目录的默认权限算法:777(rwxrwxrwx)-umask值022(----w--w-)=755(rwxr-wr-w)
[root@xxlinux-02 ~]# umask
0022
[root@xxlinux-02 ~]# mkdir bbb
[root@xxlinux-02 ~]# ll
总用量 4
-rw-r--r--. 1 xx   xx      0 6月  10 00:26 1.txt
drwxr-xr-x. 2 xx   root    6 6月  10 00:34 abc
-rw-------. 1 root root 1422 5月  26 07:57 anaconda-ks.cfg
drwxr-xr-x. 2 root root    6 6月  10 01:00 bbb
  1. 新建文件的默认权限算法:666(rw-rw-rw-)-umask值022(----w--w-)=644(rw-r--r--)
[root@xxlinux-02 ~]# touch 2.txt
[root@xxlinux-02 ~]# ll
总用量 4
-rw-r--r--. 1 xx   xx      0 6月  10 00:26 1.txt
-rw-r--r--. 1 root root    0 6月  10 01:05 2.txt
drwxr-xr-x. 2 xx   root    6 6月  10 00:34 abc
-rw-------. 1 root root 1422 5月  26 07:57 anaconda-ks.cfg
drwxr-xr-x. 2 root root    6 6月  10 01:00 bbb
  1. “ umask 数字” 可以更改umask的值
[root@xxlinux-02 ~]# umask
0022
[root@xxlinux-02 ~]# umask 002
[root@xxlinux-02 ~]# umask
0002

隐藏权限lsattr和chattr

命令 : chattr (修改文件/目录的特殊属性)
  • 语法: chattr [+-=] 选项 文件/目录名

    ‘+-=’ : 分别为增加、减少、设定

  • ‘i’ : 增加后,使文件不能被删除、重命名、设定链接、写入、新增数据

[root@localhost ~]# chattr +i aaa
[root@localhost ~]# touch aaa/1.txt
touch: 无法创建"aaa/1.txt": 权限不够
[root@localhost ~]# chattr -i aaa
[root@localhost ~]# touch aaa/1.txt
[root@localhost ~]# chattr +i aaa
[root@localhost ~]# rm -f aaa/1.txt
rm: 无法删除"aaa/1.txt": 权限不够
  • ‘a’ : 增加该属性后,只能追加不能删除(非root用户不能设定该属性)
[root@localhost ~]# chattr +a aaa/1.txt
[root@localhost ~]# head -n 2 /etc/passwd > aaa/1.txt
-bash: aaa/1.txt: 不允许的操作
[root@localhost ~]# head -n 2 /etc/passwd >> aaa/1.txt
[root@localhost ~]# cat aaa/1.txt
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
[root@localhost ~]# rm -f aaa/1.txt
rm: 无法删除"aaa/1.txt": 不允许的操作

其他选项:

 ‘A’ : 增加该属性后,文件或目录的atime将不可被修改;
       
 ‘S’ : 增加该属性后,会将数据同步写入磁盘中
       
 ‘c’ : 自动压缩该文件,读取时会自动解压
命令 : lsattr 读取文件或者目录的特殊权限

语法: lsattr [-aR] [文件/目录名]

  • ‘-a’ : 类似与ls 的-a 选项,即连同隐藏文件一同列出
  • ‘-R’ : 连同子目录的数据一同列出
[root@localhost ~]# lsattr aaa
-----a---------- aaa/1.txt
[root@localhost ~]# lsattr -aR aaa
---------------- aaa/.
---------------- aaa/..
-----a---------- aaa/1.txt

转载于:https://www.cnblogs.com/zhouyixuan/p/7457724.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
资源包主要包含以下内容: ASP项目源码:每个资源包中都包含完整的ASP项目源码,这些源码采用了经典的ASP技术开发,结构清晰、注释详细,帮助用户轻松理解整个项目的逻辑和实现方式。通过这些源码,用户可以学习到ASP的基本语法、服务器端脚本编写方法、数据库操作、用户权限管理等关键技术。 数据库设计文件:为了方便用户更好地理解系统的后台逻辑,每个项目中都附带了完整的数据库设计文件。这些文件通常包括数据库结构图、数据表设计文档,以及示例数据SQL脚本。用户可以通过这些文件快速搭建项目所需的数据库环境,并了解各个数据表之间的关系和作用。 详细的开发文档:每个资源包都附有详细的开发文档,文档内容包括项目背景介绍、功能模块说明、系统流程图、用户界面设计以及关键代码解析等。这些文档为用户提供了深入的学习材料,使得即便是从零开始的开发者也能逐步掌握项目开发的全过程。 项目演示与使用指南:为帮助用户更好地理解和使用这些ASP项目,每个资源包中都包含项目的演示文件和使用指南。演示文件通常以视频或图文形式展示项目的主要功能和操作流程,使用指南则详细说明了如何配置开发环境、部署项目以及常见问题的解决方法。 毕业设计参考:对于正在准备毕业设计的学生来说,这些资源包是绝佳的参考材料。每个项目不仅功能完善、结构清晰,还符合常见的毕业设计要求和标准。通过这些项目,学生可以学习到如何从零开始构建一个完整的Web系统,并积累丰富的项目经验。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值