Мне интересно, почему по умолчанию для моего каталога /home/<user>/
установлены разрешения 755
. Это позволяет другим пользователям входить в каталоги и читать файлы в моем доме. Есть ли законная причина для этого?
Могу ли я установить разрешения 700
для моего дома и всех подкаталогов, например:
chmod -R o-xw /home/<user>/
chmod -R g-xw /home/<user>/
ничего не нарушая?
Кроме того, возможно ли установить разрешения для моего дома, чтобы все новые созданные файлы имели 600
каталоги 700
?
permissions
files
chmod
Мартин Вегтер
источник
источник
public_html
позволяют веб-серверу получить доступ к каталогу. Хотя это очень удобно для пользователей, я не большой поклонник этого.Ответы:
Если ваш домашний каталог является личным, то никто другой не сможет получить доступ к любому из ваших файлов. Чтобы получить доступ к файлу, процессу необходимо иметь разрешение на выполнение для всех каталогов на пути вниз по дереву от корневого каталога. Например, чтобы разрешить другим пользователям читать
/home/martin/public/readme
, каталоги/
,/home
,/home/martin
и/home/martin/public
все должно иметь права доступаd??x??x??x
(это может бытьdrwxr-xr-x
, илиdrwx--x--x
или какой -либо другая комбинация), и кроме того , файлreadme
должен быть читаемым (-r??r??r??
).Обычно домашние каталоги имеют режим
drwxr-xr-x
(755) или хотя быdrwx--x--x
(711). Режим 711 (только разрешение на выполнение) для каталога позволяет другим пользователям получать доступ к файлу в этом каталоге, если они знают его имя, но не для просмотра содержимого каталога. В этом домашнем каталоге создайте публичные и приватные подкаталоги по желанию.Если вы никогда не хотите, чтобы другие люди читали какие-либо ваши файлы, вы можете создать свой домашний каталог
drwx------
(700). Если вы сделаете это, вам не нужно будет защищать свои файлы индивидуально. Это не нарушит ничего, кроме способности других людей читать ваш файл.Одна распространенная вещь, которая может сломаться, потому что это случай, когда другие люди читают ваши файлы, это если у вас есть каталог, такой как
~/public_html
или~/www
содержащий вашу веб-страницу. В зависимости от конфигурации веб-сервера этот каталог должен быть доступен для чтения всем пользователям.Вы можете изменить разрешения по умолчанию для файлов, которые вы создаете, установив значение umask в вашем
.profile
. Umask является дополнением к максимальным разрешениям файла. Общие значения включают 022 (доступно для записи только владельцу, доступно для чтения и выполнения всем), 077 (доступ только для владельца) и 002 (например, 022, но также доступно для записи в группе). Это максимальные разрешения: приложения могут устанавливать более ограничительные разрешения, например, большинство файлов остаются неисполняемыми, потому что приложение, которое их создало, не установило биты разрешения на выполнение при создании файла.источник
~/public_html
. Есть ли какие-либо другие распространенные программы, кроме Apache, которым может понадобиться доступ к моему дому? Как насчетpostfix
, например..forward
чтобы почтовая система работала от имени пользователя системы. Postfix однако хорошо с частным.forward
.Если вы включите RHEL / CentOS 5.x, разрешение по умолчанию будет 700, а в Ubuntu - 755.
По словам сотрудника Ubuntuforms.org , это облегчает обмен файлами между новыми пользователями. Вы можете изменить разрешение на 700 или 750, если не хотите, чтобы файлы читались и выполнялись другими.
Вы можете установить
umask 0077
для этогоЭто будет работать так:
Разрешение по умолчанию для директории
0777
, поэтому при установке Umask0077
то новый каталог будет создан с разрешения ,(0777-0077)
т.е. ,0700
как вы хотите.источник
umask
применяются к файлам, а? Кажется, это действует только тогда, когда я создаю новые каталоги.umask 0077
и создайте файл, каталог и проверьте разрешениеstat filename
Да, есть очень законная причина. Обратите внимание, что другие пользователи могут читать, но не писать в ваши файлы. Это очень полезно в профессиональных сетях, потому что вы можете легко делиться своими файлами с коллегами.
Например, в лаборатории, в которой я работал, у всех нас был доступ к
$HOME
каталогам друг друга, чтобы мы могли легко обмениваться данными или сценариями друг с другом. Если бы у моей подруги Алисы был хороший скрипт для выполнения X, я бы просто запустил его:Как уже упоминалось, чтобы изменить это, вам нужно установить umask. Например, чтобы новые файлы и папки были доступны для чтения только вам, добавьте это в
~/.bashrc
:источник
Вам необходимо изменить umask, чтобы изменить способ создания новых файлов в вашей домашней папке. Обычно это делается путем редактирования оболочки сценарий запуска, есть довольно обзор хороший здесь
Что касается изменения всех разрешений в вашей домашней папке на 700, мне интересно, как это повлияет на службы, работающие под учетными записями служб, которым требуется информация о конфигурации из вашей домашней папки ... Вы можете в конечном итоге запретить этим службам читать файлы конфигурации, которые им необходимы ,
источник