掩码值未正确更新

时间:2019-12-20 07:12:20

标签: shell hdfs

我正在尝试使用Shell脚本在UNIX中添加/更新目录/文件的权限default:group:fin:r--。但是掩码值未正确更新。以下是其中涉及的步骤。

目录/文件的现有权限

# file: /test/test1 # owner: own  # group: sgrp  user::rwx  group::r-x  other::r-x  default:user::rwx  default:group::r-x  default:group:fin:rwx  default:mask::rwx default:other::r-x

步骤1 :备份Bkp_File.txt文件中的现有目录/文件,

ops dev hdfs dfs -getfacl -p /test/test1 > Bkp_File.txt 

步骤2 Bkp_File.txt文件中应用权限更改

line="# file: /test/test1 # owner: own  # group: sgrp  user::rwx  group::r-x  other::r-x  default:user::rwx  default:group::r-x  default:group:fin:rwx  default:mask::rwx default:other::r-x"
i="default:group:fin:r--"
Find=$(echo "$i" | cut -d ':' -f1-3):
Src=$(echo "$line" | grep -o "$Find.*" | awk '{print $1}'
Tgt=$(echo "$line" | sed -i "s/$Src/$i/" Bkp_File.txt) 
def_m=$(echo "$line" | grep -o "default:mask::.*" | awk '{print $1}')
def_g=$(echo "$line" | grep -o "default:group:.*:r-x" | wc -l)
Upd_msk=$(echo "$line" | sed -i "s/$def_m/default:mask::r-x/" Bkp_File.txt)

步骤3 ,使用setfacl命令在实际文件中应用权限,然后将最新的权限复制到另一个文本文件New_File.txt

hdfs dfs -setfacl -m default:group:fin:r--  /test/test1
hdfs dfs -getfacl /test/test1 > New_File.txt

步骤4 ,比较Bkp_File.txtNew_File.txt,看两个文件的内容是否完全匹配

问题

当我们比较两个文件时,由于两个文件之间的default:mask::值不同,因此无法匹配。 New_File.txt中的掩码值为default:user::r-x,而Bkp_File.txt中的掩码值为default:user::rwx

0 个答案:

没有答案