У меня есть настройки 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
Вам нужно установить «umask». Если вы хотите сделать это в масштабе всей системы, вы можете изменить значение в /etc/login.defs. Если вы хотите сделать это для каждого пользователя, сделайте это в профиле каждого пользователя.
Вы можете проверить текущий umask, задав команду «umask» без параметров. Он может выводить что-то вроде этого:
0002
С этим значением создаваемые вами файлы будут доступны для чтения и записи для вас и вашей группы, в то время как будут доступны для чтения только для всех остальных. Если вы хотите создать файлы, доступные для записи в мире (обсуждение последствий для безопасности здесь выходит за рамки), измените значение umask на 0000:
umask 000
, как я уже упоминал, чтобы постоянно изменять это для своего пользователя, отредактируйте .profile, раскомментируйте строку, содержащую «umask 022», и измените значение соответствующим образом.
Прочитайте отличное объяснение того, что значения umask означают в Википедии:
Я нашел решение.
Мой umask -
022
, поэтому каждый новый файл должен давать права на чтение и выполнение всем пользователям и в моих группах, как я хочу.
Проблема была в моих файлах шаблонов, у которых было другое разрешение, теперь я изменил их, это работает правильно
Довольный Вы решили его.
/var/www каталог имеет "идентификатор группы набора", или "setgid" укусил включенный ("s" в drwxrwsr-x). Таким образом, когда новые файлы создаются внутри/var/www, файлы будут принадлежать группе каталога а не группе пользователя. Новые каталоги также берут группу родительского каталога, и они будут использовать бит setgid. (Так, в какой-то момент, Вы сделали a sudo chmod g+s /var/www
.)
Я отправил некоторых на ACL...
Что самый простой путь состоит в том, чтобы отредактировать и добавить файлы к "/var/www"?
Полномочия файла по умолчанию для php пользовательских www-данных