Как установить разрешения для вновь создаваемых файлов?

У меня есть настройки apache и php, и я работаю в / var / www, поэтому я изменил разрешение на владение этой папкой у моего пользователя и предоставил всем остальным пользователям доступ только для чтения.

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

Как я могу решить?

Это вывод команды ls -la / var / www

matteo@matteo-stable:~$ ls -la /var/www
totale 24
drwxrwsr-x  5 matteo matteo 4096 2011-12-17 13:55 .
drwxr-xr-x 18 root   root   4096 2011-12-17 14:03 ..
drwxrwsr-x  5 matteo matteo 4096 2011-12-18 19:34 CloudNotesCI
drwxrwsr-x  6 matteo matteo 4096 2011-12-11 19:52 CloudNotesLayout
-rw-rw-r--  1 matteo matteo   25 2011-12-11 20:26 info.php
drwxrwsr-x  7 matteo matteo 4096 2011-12-17 13:55 OldP
1
задан 18 December 2011 в 22:52

3 ответа

Вам нужно установить «umask». Если вы хотите сделать это в масштабе всей системы, вы можете изменить значение в /etc/login.defs. Если вы хотите сделать это для каждого пользователя, сделайте это в профиле каждого пользователя.

Вы можете проверить текущий umask, задав команду «umask» без параметров. Он может выводить что-то вроде этого:

0002

С этим значением создаваемые вами файлы будут доступны для чтения и записи для вас и вашей группы, в то время как будут доступны для чтения только для всех остальных. Если вы хотите создать файлы, доступные для записи в мире (обсуждение последствий для безопасности здесь выходит за рамки), измените значение umask на 0000:

umask 000

, как я уже упоминал, чтобы постоянно изменять это для своего пользователя, отредактируйте .profile, раскомментируйте строку, содержащую «umask 022», и измените значение соответствующим образом.

Прочитайте отличное объяснение того, что значения umask означают в Википедии:

http://en.wikipedia.org/wiki/Umask

0
ответ дан 18 December 2011 в 22:52

Я нашел решение.

Мой umask -

022

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

Проблема была в моих файлах шаблонов, у которых было другое разрешение, теперь я изменил их, это работает правильно

0
ответ дан 18 December 2011 в 22:52

Довольный Вы решили его.

/var/www каталог имеет "идентификатор группы набора", или "setgid" укусил включенный ("s" в drwxrwsr-x). Таким образом, когда новые файлы создаются внутри/var/www, файлы будут принадлежать группе каталога а не группе пользователя. Новые каталоги также берут группу родительского каталога, и они будут использовать бит setgid. (Так, в какой-то момент, Вы сделали a sudo chmod g+s /var/www.)

Я отправил некоторых на ACL...

Что самый простой путь состоит в том, чтобы отредактировать и добавить файлы к "/var/www"?

Полномочия файла по умолчанию для php пользовательских www-данных

1
ответ дан 18 December 2011 в 22:52

Другие вопросы по тегам:

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