Linux mkdir函数mode权限设置方法

2025-05-27 0 89

mkdir的函数原型(使用时需包含#include <sys/stat.h>):



int mkdir(const char *path, mode_t mode);



参数:



path——目录名,比如abc,/var/www/abc等



mode——目录权限



返回值:



返回0 表示成功, 返回 -1表示错误,并且会设置errno值。



关于Mode定义,请参考:http://pubs.opengroup.org/onlinepubs/7908799/xsh/sysstat.h.html



当然你也可以不用那些类似S_IRWXU、S_IRUSR…类似的宏参数,毕竟很难记忆,反倒不如8进制的0421好记。组合样式为:owner-group-others,不同人都分三个规则读-写-执行(r-w-x),全部许可就是7。



1、编程时使用mkdir("test",777)报错

试一下:



mkdir("test",0777);



写成mkdir("test",777)有可能无法执行。但是依稀记得,以前都是用777的也没错误,具体忘记了,反正按照规范写绝对没错。



2、umask命令使用

另外假设你的程序目录在/root/abc/下,那么如果你的程序执行时想在/var/www下创建目录时,有可能你始终创建一个0777的目录总是创建成0755目录,这时可以尝试使用umask(0)命令。



umask只对当前目录有效,默认umask值为0022,所以你无法在另外一个地方直接创建0777的目录。



而是0777-0022=0755



3、如何创建某个用户组的文件夹

/etc/passwd和/etc/group找到UID和gid



mkdir /var/ugroup



我们可以直接使用chown来改变文件所有者。



chown root:newuser /var/ugroup



修改权限



chmod 740 /var/ugroup/*



4、察看创建后目录权限情况命令:

定位到该用户组目录下,执行:



ls -all



会显示类似:



drwxrwxr-x



这样的结果(0775)。

转载自 天缘博客

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

快网idc优惠网 建站教程 Linux mkdir函数mode权限设置方法 https://www.kuaiidc.com/64812.html

相关文章

发表评论
暂无评论