(文件系统学习一)我的chmod

今天操作系统上机,突然就想把Linux C编程实战重新看一遍,当然从文件系统着手,把my_chmod这个程序重新敲了一遍收获不少呀。

在进行程序设计时,可以通过chmod/fchmod函数对文件访问权限进行修改,在Shell下输入man 2 chmod 可查看chmod/fchmod的函数原型,如下:

chmod/fchmod的区别在于chmod以文件名作为第一个参数,fchmod以文件描述符作为第一个参数。参数mod主要有一下几种组合。


以下为我的chmod函数,my_chmod.c

在程序中,权限更改成功返回0,失败返回-1,错误代码存于系统预定义变量errno中。

上面的程序中,atoi这个函数调用是将字符串转换成整型,例如:atoi("777")的返回值为整型的777.对于chmod函数,第二个参数一般用上面列出来的宏之间取或运算。

对于这个程序,Linux C编程实战中的取mode值的方法可能比较高效,附关键代码:

这节课的学习就到这吧。(未完待续)