Инструмент, который изменяет разрешения, а затем меняет их обратно - PullRequest
0 голосов
/ 11 августа 2011

Я ищу инструмент, который меняет разрешения, а затем переводит их обратно в состояние.

Ответы [ 2 ]

3 голосов
/ 11 августа 2011

Почему?

Ну ... с GNU stat

#!/bin/sh
orig_mode=$(stat -c %a "$2")
chmod "$1" "$2"
chmod "$orig_mode" "$2"

Здесь мы снова с * BSD stat на этот раз:

#!/bin/sh
orig_mode=$(stat -f "%OMp%OLp" "$2")
chmod "$1" "$2"
chmod "$orig_mode" "$2"

в других версиях stat это будет зависеть от того, поддерживается ли / как форматирование вывода.

1 голос
/ 11 августа 2011

Отображение прав доступа к файлу с параметром stat " -c, - format " в сочетании с последовательностью "% a Права доступа в восьмеричном ".Права доступа к файлу можно изменить с помощью chmod .

Например, сохраните исходные права доступа к файлу с помощью stat.

$ OLD_PERM=$(stat -c"%a" $FILENAME)
$ echo $OLD_PERM
644

Изменение разрешений

$ chmod 600 $FILENAME
$ stat -c"%a" $FILENAME
600

И, наконец, восстановление разрешений обратно к исходному значению.

$ chmod $OLD_PERM $FILENAME
$ stat -c"%a" $FILENAME
644
...