2013-03-24 5 views
7

Возможно ли, чтобы все вновь созданные файлы имели разрешение на выполнение при их создании? Почему я не могу предоставить его по умолчанию?Создание автоматически исполняемых файлов?

+0

Как вы создаете файлы? –

+1

Вы можете просто изменить 'umask' для пользователя, создающего файлы. Выполнение исполняемых файлов по умолчанию ** действительно не рекомендуется **. –

+0

Возможно, вы захотите ознакомиться с этой [1] темой. [1]: http://stackoverflow.com/questions/580584/setting-default-permissions-for-newly-created-files-and-sub-directories-under-a – rubeh

ответ

-1

Безопасным способом? № Небезопасно: просто измените umask, добавив umask xxx в ваш файл ~/.bashrc, где xxx представляет собой маску разрешения, которую вы желаете.

Примечание:

  1. Это небезопасно (я уже упоминаю Другое сделало?.)
  2. Это может приводит ко многим проблемам. Одним из которых является создание файлов запрещенных на некоторых системах)

Рекомендуемый способ:

Только делать это для файлов, которые на самом деле нужны разрешение выполнения.

chmod +x /the/file 
+2

Я не собираюсь взять что риск lol. Спасибо за помощь! –

+1

Это не просто небезопасно в теории, оно плоское не работает. Каждый 'umask', который я пробовал прямо, игнорирует числа, когда дело доходит до бита выполнения. – Caleb

+0

Ну, тогда я думаю, это зависит от вкуса linux, который вы используете. – Jean

5

Umask файлов вычитается из 666 и для каталогов он вычитается из 777. Так что, если ваш Umask является 002 и создать каталог, вы получите 775 (777 - 002), и если вы создаете файл вы получаете 664 (666 - 002).

1

umask просто вычитает разрешения по умолчанию для файлов и каталогов.

777 initial file permissions 
111 execute bit is not set by default 
--- 
666 default file permissions 
022 subtract default Unix umask 
--- 
644 voila, final file permissions 

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

Я не нашел способа установить, который будет устанавливать выполнение, по умолчанию. В любом случае это будет плохой mojo, но я сейчас изучаю курс кибербезопасности, который я пишу.

 Смежные вопросы

  • Нет связанных вопросов^_^