文件管理的基本权限与特殊权限
1、权限的概念
某一个用户针对某一个文件的权限。 1、权限分为3个部分 可读(r) 可写(w) 可执行(x) 没有对应权限(-) 查看权限 LL 执行脚本 == 运行脚本 vim index.py python index.py 执行脚本 ll 查看路径: which python 2、权限位 权限位主要分为三个部分,分别是属主、属组以及其他人 rwx : 属主 r-x : 属组 r-x : 其他人 可读 可写 可执行 3、每一个权限拥有一个数字编号 可读(r) : 4 可写(w) : 2 可执行(x) : 1 没有对应权限(-) : 0 4、在添加权限的时候,可以将权限加起来 index 属主 : 可读可写可执行 属组 :可读可写 其他人:没有任何权限 rwxrw---- 等价于 760 5、添加权限 chmod 格式: chmod [参数] [权限表达式] [操作对象] eg: 将index文件添加属主: 属主 : 可读可写可执行属组 :可读 可写 其他人:没有任何权限 touch index chomd 760 index ll eg2:将test 下的所有文件设置rw-r--r-- 创建目录: mkdir test 切换目录 cd test/ ll 创建文件 echo {1..10}.txt | xargs touch cd.. 设置文件权限: chmod 644 test/* 查看 ll test/ 重新切换到test 文件中 cd test 重新加入一个权限的时候要加 -R参数 递归增加权限 参数: -R : 递归增加权限 6、权限的归属 属主:u 属组:g 其他人:o eg:将index 这个文件的属组增加一个可读权限 删除 rm -rf index 创建一个文件:touch index chmod g+x index 或者 chmod g+x ,o-r index(可加可减) 7、测试权限对于用户的意义 1、普通用户是严格遵守权限的 2、root用户是高于权限 3、权限需要重新登才生效(su和su - 都可以) 8、测试权限对于目录的意义 1、文件可读,路径的最小权限是必须拥有可执行权限。 2、文件可写,路径的最小权限是必须拥有可执行权限。 3、文件可执行,路径的最小权限是必须拥有可读可执行权限。 [root@localhost ~]# su - test1 Last login: Mon Mar 15 15:25:08 CST 2021 on pts/1 [test1@localhost ~]$ ls -l /a/ ls: cannot open directory /a/: Permission denied [test1@localhost ~]$ ls -l /a/b ls: cannot access /a/b: Permission denied [test1@localhost ~]$ ls -l /a/b/c ls: cannot access /a/b/c: Permission denied [test1@localhost ~]$ ls -l /a/b/c/abc.txt ls: cannot access /a/b/c/abc.txt: Permission denied # 1、在目录下,只有可读权限,无法查看文件内容(因为你无法操作目录) # 2、在目录下,只有可读可写权限,无法查看文件内容(理由同上) # 1、要想查看文件夹下的文件,文件夹必须至少拥有可执行权限;同时文件必须拥有可读权限. 文件夹至少是 1 文件也至少是 4 9、创建文件的默认权限,创建文件夹的默认权限是从哪里来的 在Linux中,常用的文件的权限是666, 目录的权限是777。 1、文件的权限是跟 umask 值相减,遇到奇数加一;遇到偶数则不变。 2、文件夹的权限只要跟 umask 值相减即可。 root : umask 022 test09 : umask 002 默认文件权限:644 默认的文件夹权限:755 && and || or umask 123 644 654 需求: 要求把1个月之前修改过的日志文件删除。
补充:
[root@localhost ~]# umask 000 //设置umask权限 #更改配置文件 [root@localhost tmp]# vim /etc/profile # 或者/etc/bashrc内容?样 ...... if [ $UID -gt 199 ] && [ "`id -gn`" = "`id -un`" ]; then umask 002 //表示uid?于等于199的默认umask值,表示普通?户 else umask 022 //表示uid?于199的默认umask值,表示root fi
3、系统用户信息
whoami : 当前窗口登录的用户
who :当前用户登录系统的终端