Создайте файл с 751 полномочиями при создании

Я продолжаю создавать сценарии жемчуга практики в использовании каталога Linux vi <filename> и потребность к chmod 751 <filename> прежде чем я смогу выполнить его, как я хочу. Я уверен, что существует простой способ принять значение по умолчанию мои полномочия или сконфигурировать их при создании, но я не знаком с ним - ayuda меня польза por.

3
задан 05.04.2011, 22:18

2 ответа

Простое решение состояло бы в том, чтобы сделать псевдоним удара для vi который сначала создаст файл и затем изменится, это - полномочия прежде, чем открыть его. Используйте что-то легкое для запоминания, как vix (x для исполняемого бита):

например, (непротестированный):

function vix {
        touch $1
        chmod 751 $1
        vi $1
}

Обратите внимание, что искажение vi само является плохой идеей, поскольку много других программ обращаются к нему непосредственно, который может вызвать проблемы с Вашей системой.

2
ответ дан 08.12.2019, 01:05

751 не имеет большого смысла для сценариев - он позволяет "другим" выполнять файл, но не читать его. (Для сценариев, которые не получают setuid, который соблюдают, это невозможно.)

Для установки полномочий по умолчанию для недавно созданных файлов можно использовать или umask ACLs по умолчанию или (для каждого процесса) (на каталог). Но они оба могут только удалить биты полномочий; ни один из них не добавит "исполняемый" бит автоматически, если программа конкретно не попросит его. (Например, fopen() всегда запросы 0666, нормальное значение по умолчанию для файлов.)

Необходимо будет следовать за предложением mjb записи сценария, который создает файл и сразу обновляет его полномочия. С другой стороны, запустите свои скрипты практики как perl foo.pl, который не требует исполняемого бита.

1
ответ дан 08.12.2019, 01:05

Теги

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