#include <sys/stat.h>
int chmod(const char *pathname, mode_t mode);

int fchmod(int filedes, mode_t mode);

fchmod()会依参数mode权限来更改参数fildes所指文件的权限。参数fildes为已打开文件的文件描述词。

参数mode请参考chmod()。

权限改变成功则返回0,失败返回-1,错误原因存于errno。

EBADF 参数fildes为无效的文件描述词。
EPERM 进程的有效用户识别码与欲修改权限的文件所有者不同,而且也不具root权限。
EROFS 欲写入权限的文件存在于只读文件系统内。
EIO I/O存取错误。

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

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

#include<sys/stat.h>
#include<fcntl.h>
main()
{
int fd;
fd = open (“/etc/passwd”,O_RDONLY);
fchmod(fd,S_IRUSR|S_IWUSR|S_IRGRP|S_IROTH);
close(fd);
}

chmod 与fchmod函数相关推荐

  1. linux chmod和fchmod设置 文件和目录权限设置

    这两个函数使我们可以更改现有文件的访问权限: #include <sys/stat.h> int chmod( const char *pathname, mode_t mode ); i ...

  2. unix环境高级编程-4.9-chmod,fchmod函数和粘住位

    这两个函数可以更改我们现有文件的访问权限. #include <sys/stat.h>int chmod(const char *pathname,mode_t mode);int fch ...

  3. linux c chmod 更改权限函数

    chmod函数: 1.原型: #include<sys/types.h> #include<sys/stat.h>int chmod(const char *pathname, ...

  4. chmod、chown函数的使用

    #include <sys/stat.h> int chmod(const char *path, mode_t mode); int fchmod(int fd, mode_t mode ...

  5. linux c 笔记 文件(三)

    一.获取文件的属性:stat.fstat 和lstat 函数 #include <sys/types.h> #include <sys/stat.h> int stat (co ...

  6. linux查看目录访问权限,Linux文件访问权限

    一.设置用户ID和设置组ID 1.实际用户ID和实际组ID标识当前登录的用户. 2.有效用户ID,有效组ID以及附加组ID决定了我们的文件访问权限. 3.通常,有效用户ID等于实际用户ID,有效组ID ...

  7. Unix环境高级编程学习笔记(二)

    第四章 文件和目录 本章将描述文件系统特征和文件性质 1.stat.fstat和lstat函数 原型:#include<sys/stat.h> int stat(const char* r ...

  8. 文件和目录(一)--unix环境高级编程

    普通文件和目录linux中最多的两类文件,linux中一共有七种类型的文件,如下: 1.普通文件 2.目录 3.字符特殊设备 4.块特殊设备 5.FIFO,又叫命名管道 6.Socket,即套接字 7 ...

  9. unix环境高级编程-文件和目录(1)

    stat.fstat和lstat函数: 一旦给出pathname,stat函数返回与此函数命令文件有关的信息结构.第二个参数buf是指针,指向一个我们必须提供的结构体.该结构体的基本结构是: 文件类型 ...

  10. Posix 接口笔记

    声明:在如下博客中添加仅目录,若牵涉到利益问题,请联系我,谢谢! 原博客:https://www.cnblogs.com/alexliu2360/p/5674345.html POSIX API PO ...

最新文章

  1. python excel xldr xlwt xlutils 使用简介
  2. Theano - 循环
  3. .NET 之美-认识.NET平台
  4. python---tornado钩子预留解析
  5. C++ Primer 5th笔记(2)chapter 2变量和基本类型:constexpr 、auto、类型别名、decltype
  6. CSV 导入mysql 数据库
  7. 计算机编码简介(ASCII、ANSI、EBCDIC、Unicode)
  8. Linux查看和控制进程
  9. mysql 瓶颈诊断_MySQL 监控、性能瓶颈排查
  10. L2-005. 集合相似度-PAT团体程序设计天梯赛GPLT
  11. ios runtime (2)
  12. android opencv 图像旋转90度,使用OpenCV转换图像( 旋转 90度)的简单方法?
  13. UML统一建模语UML2和EnterpriseArchitect
  14. Scratch编程与科学结合-串联与并联
  15. [vue] 混入+替换对应文字实现简繁切换
  16. 计算机九宫格游戏怎么玩,《九宫格数独》怎么玩 数独玩法介绍
  17. 数据库范式(第一范式 第二范式 第三范式 BCNF范式)
  18. vue cli 构架vux移动端模板
  19. VsCode切换语言
  20. 电子密码锁程序C语言,基于51单片机的电子密码锁程序

热门文章

  1. linux下Eclipse连接真机调试Android应用程序
  2. Windows Server 2008 R2 远程桌面服务RDS和VDI介绍
  3. 常用 MIME 类型
  4. QuickPart : 用户控件包装器 for Office SharePoint Server 2007
  5. java 接口返回不带双引号_Java入门:基础知识
  6. python和vba哪个难_VBA和Python到底哪个比较难学?
  7. 30分钟学习掌握springmvc、SSM
  8. 传统的jsp+servlet的经典的MVC开发模式详细步骤,框架的知识点转换,各模块的以及各配置的作用,学习框架必备知识,框架基础技术JDBC(一)
  9. linux系统怎么组内网,Linux/Unix操作系统处于内网的桌面控制
  10. css浮动与清除浮动相关总结(附图解、实例)