• 重读APUE(5)-文件权限


    文件,目录,权限

    1. 用名称打开任一个类型的文件时,对该名字中包含的每一个目录,包括它可能隐含的当前工作目录都应该具有执行权限;这就是目录执行权限通常被称为搜索位的原因;

    例如:为了打开文件/usr/include/stdio.h,需要对目录/、/usr、/usr/include具有执行权限;而具有对文件本身的适当权限,取决于以何种模式打开它;

    注意:对目录的读权限和执行权限的意义是不同的,读权限允许我们读目录,获得在该目录中的所有文件名的列表;而执行权限决定是否有资格搜索该目录;

    2. 对于一个文件的读/写权限决定了是否能够打开文件进行读/写操作;

    3. 在open函数中对一个文件指定O_TRUNC标志,必须对该文件具有写权限;

    4. 为了在一个目录中创建新文件,必须对该目录具有写权限和执行权限;

    5. 为了删除一个文件,必须对包含文件的目录具有写权限和执行权限;对该文本本身则不需要读、写权限;

    6. 如果用exec函数执行某个文件,则必须对该文件具有执行权限,并且文件必须是一个普通文件;

    内核进行权限位测试步骤

    1. 若进程的有效用户ID是0,即超级用户,则允许访问;

    2. 若进程的有效用户ID等于文件的所有者ID,如果所有者适当的权限被设置,则允许访问,否则拒绝访问;

    3. 若进程的有效组ID或者进程的附属组ID之一等于文件的组ID,那么如果组适当的访问权限位被设置,则允许访问,否则拒绝访问;

    4. 若其他用户适当的访问权限位被设置,则允许访问,否则拒绝访问;

    上述步骤,安装顺序进行测试,直到判断出权限成功或者失败为止;

  • 相关阅读:
    个人技术博客(α)
    git常用命令合集
    软件工程实践2017第二次结对作业
    软件工程实践2017第一次结对作业
    软件工程实践2017第二次作业
    软件工程实践2017第一次作业
    学习总结
    约瑟夫
    今天是星期几
    斐波那契数列取石子游戏
  • 原文地址:https://www.cnblogs.com/wanpengcoder/p/11762725.html
Copyright © 2020-2023  润新知