shell practice 04

一转身已万水千山發表於2024-04-12
#!/bin/bash
# author: Chiweiming
# version: v1
# date: 2024-03-26

<<COMMAND
檢查某個目錄下的所有檔案和目錄,看是否滿足下麵條件:
1)所有檔案許可權為 644
2)所有目錄許可權為 755
3)檔案和目錄所有者為 xxx,所屬組為 xxx
如果不滿足,改成符合要求
注意:不要直接修改許可權,一定要有判斷的過程
COMMAND

cd data
for file in $(find .)
do
  f_p=$(stat -c %a "${file}")
  f_u=$(stat -c %U "${file}")
  f_g=$(stat -c %G "${file}")

  if [[ -d ${file} ]]; then
    [[ ${f_p} != '755' ]] && chmod 755 "${file}"
  else
    [[ ${f_p} != '644' ]] && chmod 644 "${file}"
  fi

  [[ ${f_u} != "chiweiming" ]] && chown chiweiming "${file}"
  [[ ${f_g} != "chiweiming" ]] && chown :chiweiming "${file}"
done

相關文章