У меня есть папка, я устанавливаю ее права доступа с помощью chmod.
chmod 777 /home/Desktop/Project
это успех.
Я использую инструмент (.exe), который загружает проект из хранилища. Но после завершения загрузки все подпапки и файлы в / home / Desktop / Project имеют разрешения как drw-r--r--
и -r--r--r--
соответственно.
Есть ли у них какой-либо способ установить права на выполнение для любых файлов / папок в каталоге Project до того, как я начну скачивать в папке проекта?
Примечание: Вся обработка выполняется с использованием python скрипт, который использует инструмент для загрузки проекта, как сказано выше. Тестирование на Ubuntu 14.04 LTS.
Посмотрите man umask
. Это говорит, частично:
trusty (1) umask.1posix.gz
Provided by: manpages-posix_2.16-1_all bug
NAME
umask - get or set the file mode creation mask
SYNOPSIS
umask [-S][mask]
DESCRIPTION
The umask utility shall set the file mode creation mask of the current
shell execution environment (see Shell Execution Environment ) to the
value specified by the mask operand. This mask shall affect the initial
value of the file permission bits of subsequently created files.
То, что это означает, то, что, когда файл создается, он начинается, принимая его разрешение wil быть 777
, rwxwrxwrx
, Read, Write and Execute
доступ для Owner
, Group
и World
. Но затем, "биты режима" (другое название "битов полномочий", но короче) являются ANDed с КОМПЛИМЕНТОМ umask
значение. Если Вы устанавливаете umask 022
(в ~/.bashrc
, или в текущей оболочке, для влияния на ту оболочку), затем операция:
777 Original mode bits 0B111111111
755 Compliment of 022 0B111101101
----- AND
755 The result, rwxr-xr-x (Read, Write, Execute for Owner, Read, Execute for Group and World
Другой распространенный umask
значение 027
(НИКАКОЙ доступ для Мира).
Это - хитрая идея и заслуживает понимания. Я не забываю смущаться в течение многих недель этим назад в 1970-х, когда я сначала столкнулся с Unix.
То, что Вы могли сделать, должно добавить, что команда к Вашему .bashrc
как функция или искажает и выполняет ту функцию или псевдоним с &&
оператор.
, Другими словами ./pythonscript.py && aliasToChMod
"*.pdf"
в двойных кавычках (в отличие от переменных оболочки) не расширены
– steeldriver
18 December 2016 в 14:52