这两个函数使我们可以更改现有文件的访问权限:

#include <sys/stat.h>
int chmod( const char *pathname, mode_t mode );
int fchmod( int filedes, mode_t mode );
两个函数返回值:若成功则返回0,若出错则返回-1

chmod函数在指定的文件上进行操作,而fchmod函数则对已打开的文件进行操作。

为了改变一个文件的权限位,进程的有效用户ID必须等于文件的所有者ID,或者该进程必须具有超级用户权限。

参数mode是表4-8中所示常量的某种按位或运算构成的。

表4-8 chmod函数的mode常量,取自<sys/stat.h>

mode 说明
S_ISUID 
S_ISGID 
S_ISVTX
执行时设置用户ID 
执行时设置组ID 
保存正文(粘住位)
S_IRWXU 
     S_IRUSR 
     S_IWUSR 
     S_IXUSR
用户(所有者)读、写和执行 
用户(所有者)读 
用户(所有者)写 
用户(所有者)执行
S_IRWXG 
     S_IRGRP 
     S_IWGRP 
     S_IXGRP
组读、写和执行 
组读 
组写 
组执行
S_IRWXO 
     S_IROTH 
     S_IWOTH 
     S_IXOTH
其他读、写和执行 
其他读 
其他写 
其他执行

程序清单4-4 chmod函数实例

#include "apue.h"int
main(void)
{struct stat     statbuf;/* turn on set-group-ID and turn off group-execute */if(stat("foo", &statbuf) < 0)err_sys("stat error for foo");if(chmod("foo", (statbuf.st_mode & ~S_IXGRP) | S_ISGID) < 0)err_sys("chmod error for foo");/* set absolute mode to "rw-r--r--" */if(chmod("bar", S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH) < 0)err_sys("chmod error for bar");exit(0);
}

linux chmod和fchmod设置 文件和目录权限设置相关推荐

  1. Linux设置文件和目录权限

    目录 一.文件和目录的访问和归属权限 1.访问权限 2.归属权限 二.设置文件和目录的访问和归属权限 1.设置访问权限(两种方式) 2.设置归属权限 三.权限掩码umask 1.作用 2. 查看uma ...

  2. mysql目录权限设置_MySQL文件及目录权限设置分析-爱可生

    1 背景 创建文件及目录时,我们会对相关的权限有一定的要求,默认的可以通过系统的umask来控制.然而,在我们使用MySQL时,无论是开始使用前的初始化,还是MySQL实例启动后,创建的相关文件及目录 ...

  3. mysql 创建函数_MySQL文件及目录权限设置分析-爱可生

    1 背景 创建文件及目录时,我们会对相关的权限有一定的要求,默认的可以通过系统的umask来控制.然而,在我们使用MySQL时,无论是开始使用前的初始化,还是MySQL实例启动后,创建的相关文件及目录 ...

  4. Linux学习笔记三【文件及目录的权限管理篇】

    文件及目录的权限管理 上篇简单介绍了下文件和目录的一些简单的操作,接下来介绍用户和文件权限的管理.首先了解用户和组账号的配置文件,然后是管理用户和组账号,最后要会设置文件和目录权限和归属. Linux ...

  5. chmod命令用于更改文件或目录的所有者_Linux 修改权限命令 chmod 用法示例

    公众号关注"杰哥的IT之旅", 选择"星标",重磅干货,第一时间送达! 来自:Linux迷 链接:http://r6d.cn/tNnD Linux中的Chmod ...

  6. 服务器给站点读写权限,IIS7目录权限设置的问题详解Windows服务器操作系统 -电脑资料...

    今天自己把服务器安装了windows 2008同时也是iis7了,但是在设置权限时有些小问题不了解后来百度了才知道解决办法, 前段时间在windows server 2008 r2 (x64)服务器上 ...

  7. Linux 命令之 chmod -- 改变文件或目录权限

    文章目录 一.命令介绍 二.语法格式 三.常用选项 四.权限表达式 (一)采用权限字母和操作符表达式 (二)采用权限数字表达式 五.参考示例 (一)为拥有者.所属群组以及其他人添加关于director ...

  8. linux 临时 目录权限,linux文件和目录权限的设置

    linux文件和目录权限的设置 修改文件权限 如果想改变文件或目录的权限,可以使用chmod命令,改变文件或目录的权限有两种方法:助记法和八进制法. ·助记法: 语法: 使用u(user).g(gro ...

  9. 文件/目录权限设置命令:chmod

    文件/目录权限设置命令:chmod 这是Linux系统管理员最常用到的命令之一,它用于改变文件或目录的访问权限.该命令有两种用法: 用包含字母和操作符表达式的文字设定法 其语法格式为:chmod [w ...

最新文章

  1. html5调用系统声音1s响一次_HTML5声音录制/播放功能的实现代码
  2. ExtJs4–表格--Grid
  3. php {template header},php通过header发送自定义数据
  4. 关于在 Ubuntu 上安装 SteamOS session
  5. Hive之数据倾斜的原因和解决方法
  6. LeetCode初级算法(数组)解答
  7. Git教程学习(四)
  8. 14-----表单输入绑定
  9. 树莓派4B Ubuntu20.04 ROS2 DSO realsense d455
  10. Intel与三星合作新移动操作系统Tizen 拥抱HTML5
  11. 自动化检测工具助力GJB 8114-2013 C/C++语言编程安全子集标准落地应用
  12. 【Tcl学习笔记】第2章 Tcl语言的语法
  13. python菜鸟教程 | if else 判断
  14. 1.1 区块链专业术语(中英对照)
  15. 用CSS3制作一个风车
  16. Audacity分析清音浊音爆破音的时域及频域特性
  17. 201771010101 白玛次仁 《2018面向对象程序设计(Java)》第九周学习总结
  18. Lake Counting S
  19. 面试PHP的尴尬经历以及今后的职业规划
  20. python分布式计算框架_基于Python的分布式计算平台-DPark

热门文章

  1. keil 器件是空的,Keil的Device为空,不能选择器件
  2. 交通部:将从五方面推进京津冀暨雄安新区交通建设
  3. C语言处理字符串及内存操作
  4. 关于坐标系的那些事儿!(转)
  5. 《自写原创程序,让vim运行c/c++》
  6. 什么是条带化(striping) ?(转载)
  7. 吴世春:如何找到产品的引爆点
  8. 逆向思维--魔兽世界封包分析(1)
  9. ClassLoader引发的类型转换异常(转载)
  10. PHP学习:PHP超全局变量(Superglobal)$GLOBALS的介绍以及和global的区别