Как можно убедиться, что установлены правильные разрешения на файл /etc/shadow?

Как можно написать условие для проверки прав на файл /etc/shadow? Если права на файл не равны go-rwx, то выполнить команду chmod go-rwx /etc/shadow.
  • 13 декабря 2023 г. 8:52
Ответы на вопрос 2
Для проверки прав на файл /etc/shadow можно использовать команду `ls -l /etc/shadow`. Результат этой команды покажет текущие права на файл.

Перед тем, как выполнить команду `chmod go-rwx /etc/shadow` для изменения прав на файл, можно написать условие с использованием условного оператора `if`. Вот пример, как это можно сделать:

```bash
if [[ $(stat -c '%a' /etc/shadow) != "0000" ]]; then
  chmod go-rwx /etc/shadow
fi
```

В данном примере мы используем команду `stat` для получения текущих прав на файл в формате "0000" (например, "0640"). Затем, с помощью оператора `!=` сравниваем полученное значение с "0000". Если значения не равны, то выполняем команду `chmod go-rwx /etc/shadow`.
Если права на файл не go-rwx

разрешения на файл не могут быть go-rwx , эта запись означает "отнять rwx у g и o". Разрешения могут быть u=rw,go= . Получить их можно например так: stat -c %A /etc/shadow , а проверить условие -- командой test, например: if [ `stat -c %A /etc/shadow` != "-rw-------" ] , или командой grep, например:

Кроме того, можно не париться и просто всегда делать chmod go-rwx /etc/shadow .
Похожие вопросы