Видите текущие разрешения на файл?
-
16-10-2019 - |
Вопрос
Как я могу увидеть разрешения на файл (например, если я хочу воссоздать эти разрешения для другого файла, используя chmod
)?
Например, после того, как я забежал chmod 644
на foo.txt
, какая команда, если таковая, могу ли я запустить foo.txt
который возвращается 644
?
Решение
Если вы введите ls -l
В терминале вы получаете разрешение на ваш файл
drwxr-xr-x 7 --- staff 238 Apr 14 2010 images
-rw-r--r-- 1 --- staff 2628 Aug 26 2009 index.html
drwxr-xr-x@ 11 --- staff 374 Feb 28 2010 simplemvc
Вы можете использовать таблицу ниже для преобразования rwxr-xr-x
Номеру и наоборот:
И получить более подробную информацию здесь.
Другие советы
Самый простой способ получить восьмидесятнические разрешения из командной строки - это использование stat(1)
со спецификатором формата.
Вы можете прочитать больше на странице вручную, но следующее даст вам то, что вы хотите:
stat -f "%omp%olp" u003Cfile or directory>
%OMp
Возвращает биты setuid/setgid/icty в восьмиуровне и %OLp
Пользователь/группа/другие разрешения в восьмиуровне.
Например:
$ ls -ld Data
drwxr-xr-x 6 mj staff 204 20 Feb 11:09 Data
$ stat -f "%OMp%OLp" Data
0755
Самый простой способ, которым я знаю, что будет перечислять все разрешения, включая ACLS, - это просто использовать команду GET Info из Finder в соответствующем файле.