Ubuntu: режим доступа по умолчанию (разрешения) для пользователей home dir (/ home / user)


15

Что такое режим доступа по умолчанию (например, 0755) для домашних директорий пользователей в Ubuntu (например, из чего выводится ls -ld /home/*)? В других основных дистрибутивах Linux (Debian, RedHat, Gentoo, Arch)?

Как я могу изменить это значение по умолчанию?

PS: Извините, но я не могу сейчас найти убунту и проверить это сам.


Я спрашиваю не про umask, а про skelиhome-dirs
— osgx

Пожалуйста, не добавляйте новую информацию в комментарии, но включайте ее в исходный вопрос
— bbaja42

это не новая информация, это комментарии о неправильном понимании моего вопроса
— osgx

Ответы:


15

При создании пользователя с использованием useradd --create-home username, скелетный каталог (обычно /etc/skel) копируется, включая его разрешения.

Домашний каталог ( /home/username) подлежит UMASKнастройке в /etc/login.defs. Это установлено 022по умолчанию, поэтому разрешения для /home/usernameстановится 755.

Соответствующая выдержка из справочной страницы по Ubuntuuseradd :

Следующие переменные конфигурации в /etc/login.defs изменяют поведение этого инструмента:
[..]
UMASK (число)

Маска создания режима файла инициализируется этим значением. Если не указано, маска будет инициализирована до 022.

useradd и newusers используют эту маску для установки режима домашнего каталога, который они создают


Что насчет redhat / debian?
— osgx

AFAIK это стандартная вещь useradd, если она будет специфичной для Ubuntu, это должно быть упомянуто на странице руководства. Страница руководства RedHat
— Lekensteyn

10

По умолчанию разрешение пользователя home можно контролировать в следующих местах.

  • Опция каталога скелета ( -k, --skel SKEL_DIR) из useradd.
  • SKELзначение в /etc/adduser.confэтой директории по умолчанию.
  • DIR_MODEзначение в /etc/adduser.confтом, что определяют разрешения по умолчанию.

Домашний каталог новых пользователей создается с использованием /etc/skelшаблона (поведение по умолчанию).
Разрешение по умолчанию /etc/skel- 0755 (drwxr-xr-x).
Использование собственного каталога скелета с правильными разрешениями позволит новым домашним каталогам иметь желаемые разрешения.

Значения по умолчанию для adduserопределены в /etc/adduser.conf.
Значение по умолчанию DIR_MODEв /etc/adduser.confis 0755.
Изменение DIR_MODEправильных разрешений ( DIR_MODE=0750или аналогичных) позволит новым домашним каталогам иметь желаемые разрешения.
Согласно документации Ubuntu, это, кажется, лучший вариант.

Уже существующие домашние каталоги пользователей необходимо будет изменить вручную.

sudo chmod 0750 /home/username

Поэтому рекомендуется менять /etc/adduser.confсразу после установки, чтобы новые пользователи не получали 0755 (drwxr-xr-x)разрешения типа.
Тем не менее, самый первый пользователь, созданный во время установки, 0755установит свой домашний каталог, который следует изменить вручную.

UMASKin /etc/login.defs- это общая настройка для файлов / каталогов / etc, созданных пользователями (не только в их домашних каталогах). и может изменятся в зависимости от того, USERGROUPS_ENABв /etc/login.defs.

Официальное объяснение: Управление пользователями - Безопасность профиля пользователя.
Проверьте также и другие разделы управления пользователями.

Связанный: /ubuntu/46501/why-can-other-users-see-the-files-in-my-home-folder


3
Ответы только на ссылки - нет-нет из-за возможного будущего гниения ссылок. Пожалуйста, включите соответствующую информацию в ваши ответы.
— Ƭᴇcʜιᴇ007

@ techie007 Я знаю. Использовал бы комментарий, если бы у меня было достаточно повторений.
— Sithsu

1
@ techie007 Добавил больше контента к ответу
— Sithsu

Установка DIR_MODEв /etc/adduser.conf, безусловно, правильный путь.
— user1338062

2

Примечание. Не изменяйте значение UMASK в /etc/login.defs, если хотите изменить только разрешения для домашнего каталога. Причина изменения UMASK повлияет на все.

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

Правильный способ - изменить DIR_MODE в /etc/adduser.conf . Поскольку /etc/adduser.conf используется в большинстве дистрибутивов Linux, это решение подходит для большинства.


1

Разрешения по умолчанию для / home в Ubuntu - rwxr-xr-x или 755. Для / home / user это также rwxr-xr-x или 755. По крайней мере, это в моей установке.

Чтобы изменить права доступа к файлу домашнего каталога, откройте терминал и запустите что-то вроде:

chmod 700 /home/user

Не забудьте изменить 700 на значение chmod, которое вы действительно хотите установить.

Если вы не являетесь владельцем каталога, вам нужны права root для изменения разрешений. Ubuntu использует sudoдля этого:

sudo chmod 700 /home/user

Когда вы запустите эту команду, она запросит пароль администратора.


2
Ваша вторая часть неверна, домашний каталог принадлежит вам, поэтому вам не понадобятся права суперпользователя для этого.
— Лекенштейн

Вы предполагаете, что он только хочет изменить права на свой собственный домашний каталог. Я сказал: «Если вы не являетесь владельцем каталога». Мой код будет работать в домашнем каталоге любого пользователя.
— Rincewind42

Я отредактировал ваше сообщение, чтобы сделать его более правильным (надеюсь, вам понравится), ваше первоначальное сообщение вообще не включало это: superuser.com/revisions/303995/1
— Lekensteyn

0

Проверьте man-страницу umask .

Значение umask по умолчанию:

0022

Разрешает groupи othersчитать и выполнять доступ.


Нет, мой вопрос не об umask, а о разрешениях по умолчанию для самой папки пользователя (сразу после того, как пользователь aсоздан, что будет выводом ls -ld /home/a)
— osgx
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.