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

1

背景

创建文件及目录时,我们会对相关的权限有一定的要求,默认的可以通过系统的umask来控制。然而,在我们使用MySQL时,无论是开始使用前的初始化,还是MySQL实例启动后,创建的相关文件及目录,并不受umask控制,MySQL 默认创建出来的文件权限是0660,目录权限是0700,并且,在通过引入MySQL初始化相关的环境变量解决了这一问题后,在以不同的MySQL的启动方式启动实例后,创建的文件及目录的权限也不相同。以下,将从几个方面分别讨论。

2

umask对系统文件及

目录的影响

以下是linux man-page中对umask的相关描述:

205e92fa53c01eee52316ff5ee22ee45.png

从该描述中,可以看出,umask影响open、mkdir等其他系统调用产生的新的文件或目录的权限。

2.1 umask对open函数的影响

open函数用到umask的相关形式为:

bdc8f685c303ab1ef0ac5028c15e9621.png

截取open函数的部分描述:

cdc2bafdfc0a417dcf2b6f177dedf3ec.png

通过该段描述,当没有默认的acl时,创建的文件的权限应为mode & ~umask,而一般情况下针对文件来说,系统默认的mode为0666(并不是所有的文件都可以执行),所以实际创建的文件权限应为 0666 & ~umask,当umask为0022时,创建出来的文件的权限应为0644。

cef75d6148bd0ec3c8bcf6781aaf0ec0.png

2.2 umask对mkdir函数的影响

mkdir函数用的umask的相关形式:

55523832b8c0f96282bf174b104fd03d.png

截取相关描述:

66f64ea7fe550867ac6343a97be23d12.png

在没有默认acl的情况下,创建的目录的权限为 mode & ~umask & 0777,一般情况下,目录的默认的mode为0777,所以实际创建的目录权限应为 0777 & ~umask & 0777,当umask为0022时,创建的目录的权限应为0755。

c055f9d6f59509c97820559bad848e38.png

2.3 参考资料

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值