Проверка прав доступа к файлам в Linux - PullRequest
0 голосов
/ 17 октября 2019

Мне нужно изменить разрешения файлов в каталоге, например:

  • , если у группы нет разрешений, у других не должно быть разрешений либо
  • , если у группы естьразрешения, ничто не должно измениться

Но в одной команде.

Я почти уверен, что должен использовать chmod для самого изменения. Моя самая большая проблема на самом деле, как узнать, есть ли у группы разрешения или нет? после этого используйте эту информацию в одной команде

1 Ответ

1 голос
/ 17 октября 2019

Вы можете попробовать это:

#!/bin/bash
[ "$(stat -c "%a" "$1" | cut -b 2)" -eq 0 ] && chmod o-rwx "$1"

объяснение:

stat -c "%a" "$1"   # get file permission as octal number
cut -b 2            # extract second number (-> group)
-eq 0               # test if group permissin is 0
&&                  # then...
chmod o-rwx "$1"    # remove other permissions
...