以编程方式报告是否在Linux中启用了ACL支持

时间:2014-01-29 17:50:04

标签: linux shell acl

我正在构建服务器安装脚本,并希望在设置目录默认权限之前检查是否已启用ACL支持。

getfacl联机帮助页指出:

  

如果在不支持ACL的文件系统上使用getfacl,getfacl将显示传统文件模式权限位定义的访问权限。

我宁愿不破解umask比较等等,但在任何地方都没有发现更好的选择。

思想?

编辑:我应该在CentOS 6.4系统上尝试这种方法

1 个答案:

答案 0 :(得分:1)

试试这个:

DIRECTORY="/home"
MOUNTPOINT=`df "$DIRECTORY" | tail -1 | awk '{ print $1 }'`
MOUNTSET=`/sbin/tune2fs -l $MOUNTPOINT | grep "Default mount options" | grep acl | wc -l`
if [ "$MOUNTSET" = "0" ]; then
     echo "Mount point $MOUNTPOINT does not have enabled ACL."
else
     echo "Juppi. Mount point $MOUNTPOINT have enabled ACL."
fi

在Debian 7上正常工作。