#!/bin/bash export LANG=c ROOT_UID=0 E_ROOT=2 if [ $UID -ne $ROOT_UID ];then echo "You must run this script use root ..." exit $E_ROOT fi FSTAB_FILE=/etc/fstab #判断rocky4.2和linx6.0,因为这两个版本中/etc/fstab文件中序列号的位置不同 FLAG_VERSION=`grep 'Linx' /etc/issue|awk '{print $1}'` if [ "${FLAG_VERSION}" == "Linx" ];then #Linx 6.0.x for i in `grep -n 'defaults' $FSTAB_FILE |grep -v proc| awk 'BEGIN{OFS="|"}{print $1,$4}'` do original_data_mode=$(echo $i | cut -d'|' -f2 | awk -F',' '{print $3}') line=$(echo $i | cut -d':' -f1) if [ ${original_data_mode}!=" " ];then sed -i "${line}s@defaults,acl,${original_data_mode}@defaults@" $FSTAB_FILE sed -i "${line}s@defaults@defaults,acl,data=writeback@" $FSTAB_FILE else sed -i "${line}s@defaults@defaults,acl,data=writeback@" $FSTAB_FILE fi done else #rocky4.2.x for i in `grep -n 'acl' $FSTAB_FILE | grep d5000 | awk 'BEGIN{OFS="|"}{print $1,$4}'` do original_data_mode=$(echo $i | cut -d'|' -f2 | awk -F',' '{print $2}') line=$(echo $i | cut -d':' -f1) if [ ${original_data_mode}!=" " ];then sed -i "${line}s@acl,${original_data_mode}@acl@" $FSTAB_FILE sed -i "${line}s@acl@acl,data=writeback@" $FSTAB_FILE else sed -i "${line}s@acl@acl,data=writeback@" $FSTAB_FILE fi done fi