Что такое режим доступа по умолчанию (например, 0755) для домашних директорий пользователей в Ubuntu (например, из чего выводится ls -ld /home/*
)? В других основных дистрибутивах Linux (Debian, RedHat, Gentoo, Arch)?
Как я могу изменить это значение по умолчанию?
PS: Извините, но я не могу сейчас найти убунту и проверить это сам.
skel
иhome-dirs
Ответы:
При создании пользователя с использованием
useradd --create-home username
, скелетный каталог (обычно/etc/skel
) копируется, включая его разрешения.Домашний каталог (
/home/username
) подлежитUMASK
настройке в/etc/login.defs
. Это установлено022
по умолчанию, поэтому разрешения для/home/username
становится 755.Соответствующая выдержка из справочной страницы по Ubuntu
useradd
:источник
useradd
, если она будет специфичной для Ubuntu, это должно быть упомянуто на странице руководства. Страница руководства RedHatПо умолчанию разрешение пользователя 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.conf
is0755
.Изменение
DIR_MODE
правильных разрешений (DIR_MODE=0750
или аналогичных) позволит новым домашним каталогам иметь желаемые разрешения.Согласно документации Ubuntu, это, кажется, лучший вариант.
Уже существующие домашние каталоги пользователей необходимо будет изменить вручную.
Поэтому рекомендуется менять
/etc/adduser.conf
сразу после установки, чтобы новые пользователи не получали0755 (drwxr-xr-x)
разрешения типа.Тем не менее, самый первый пользователь, созданный во время установки,
0755
установит свой домашний каталог, который следует изменить вручную.UMASK
in/etc/login.defs
- это общая настройка для файлов / каталогов / etc, созданных пользователями (не только в их домашних каталогах). и может изменятся в зависимости от того,USERGROUPS_ENAB
в/etc/login.defs
.Официальное объяснение: Управление пользователями - Безопасность профиля пользователя.
Проверьте также и другие разделы управления пользователями.
Связанный: /ubuntu/46501/why-can-other-users-see-the-files-in-my-home-folder
источник
DIR_MODE
в/etc/adduser.conf
, безусловно, правильный путь.Примечание. Не изменяйте значение UMASK в /etc/login.defs, если хотите изменить только разрешения для домашнего каталога. Причина изменения UMASK повлияет на все.
Однажды я следовал тому же самому, и когда я установил какой-либо пакет системы в целом, используя pip, он был недоступен для других пользователей и постоянно выдавал отказ в разрешении. Поскольку UMASK по умолчанию влияет на разрешение всех каталогов пакетов, которые были созданы после применения изменений.
Правильный способ - изменить DIR_MODE в /etc/adduser.conf . Поскольку /etc/adduser.conf используется в большинстве дистрибутивов Linux, это решение подходит для большинства.
источник
Разрешения по умолчанию для / home в Ubuntu - rwxr-xr-x или 755. Для / home / user это также rwxr-xr-x или 755. По крайней мере, это в моей установке.
Чтобы изменить права доступа к файлу домашнего каталога, откройте терминал и запустите что-то вроде:
Не забудьте изменить 700 на значение chmod, которое вы действительно хотите установить.
Если вы не являетесь владельцем каталога, вам нужны права root для изменения разрешений. Ubuntu использует
sudo
для этого:Когда вы запустите эту команду, она запросит пароль администратора.
источник
Проверьте man-страницу umask .
Значение umask по умолчанию:
Разрешает
group
иothers
читать и выполнять доступ.источник
a
создан, что будет выводомls -ld /home/a
)