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

15

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

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

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

osgx
источник
Я спрашиваю не про 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 используют эту маску для установки режима домашнего каталога, который они создают

Lekensteyn
источник
Что насчет 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

Sithsu
источник
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

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

Rincewind42
источник
2
Ваша вторая часть неверна, домашний каталог принадлежит вам, поэтому вам не понадобятся права суперпользователя для этого.
Лекенштейн
Вы предполагаете, что он только хочет изменить права на свой собственный домашний каталог. Я сказал: «Если вы не являетесь владельцем каталога». Мой код будет работать в домашнем каталоге любого пользователя.
Rincewind42
Я отредактировал ваше сообщение, чтобы сделать его более правильным (надеюсь, вам понравится), ваше первоначальное сообщение вообще не включало это: superuser.com/revisions/303995/1
Lekensteyn
0

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

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

0022

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

Nik
источник
Нет, мой вопрос не об umask, а о разрешениях по умолчанию для самой папки пользователя (сразу после того, как пользователь aсоздан, что будет выводом ls -ld /home/a)
osgx