Как umask получить разрешение файла по умолчанию 755?

Кажется, я не могу использовать umask , чтобы убедиться, что мое разрешение файла по умолчанию - 755. Мне это нужно потому что каждый раз, когда я извлекаю файл сценария на CentOS из системы контроля версий, он не имеет разрешения x, и мне приходится вручную chmod + x script.sh . Как umask получить разрешение файла по умолчанию 755? Почему расчет umask для файлов основан на максимальном разрешении для файлов 666, а не 777?

0
27.03.2017, 18:49
2 ответа

Разрешения, которые получает файл, могут быть уменьшены только с помощью umask, поэтому нет, вы не можете использовать его для добавления разрешений. Кроме того, в отличие от ваших утверждений, разрешения перед уменьшением маскированных битов не равны 0666 или 0777, а зависят от того, что устанавливает рассматриваемая программа. Обычный обычай - создавать обычные файлы с режимом 0666 и каталоги с 0777 и позволять umask обрабатывать ограничение доступа для других пользователей, но программа, которая создает особенно личные файлы, будет использовать 0600 в качестве начальных разрешений.

Если вам нужно приложение для создания файлов с определенными разрешениями, вам нужно исправить это на уровне приложения. Для Subversion см. свойство svn:executable.

1
28.01.2020, 02:46

Можно создать функцию в вашем.bashrc (, если вы используете bash ), которая будет делать две вещи.

  1. проверить скрипт
  2. chmod +x script.sh

    myfunction () {
    #do things with parameters like $1 such as
    checkout_command $1
    chmod +x $1
    }
    
    #calls `myfunction` to checkout the script and chmod on the fly.
    myFunction my_script.sh 
    
0
28.01.2020, 02:46

Теги

Похожие вопросы