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


15

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

Як я можу змінити цей дефолт?

PS: Вибачте, але я зараз не можу знайти ubuntu і перевірити це.


Я не питаю про umask, а про skelіhome-dirs
osgx

Будь ласка, не додайте нову інформацію в коментарі, але включіть її в оригінальне запитання
bbaja42

це не нова інформація, це коментарі щодо неправильного розуміння мого питання
osgx

Відповіді:


15

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

Домашній каталог ( /home/username) залежить від UMASKналаштування в /etc/login.defs. Це встановлено 022за замовчуванням, тож дозволи для /home/username75 стає 755.

Відповідний уривок зі сторінки керівництва Ubuntuuseradd :

Наступні змінні конфігурації в /etc/login.defs змінюють поведінку цього інструменту:
[..]
UMASK (число)

Маска створення файлового режиму ініціалізується до цього значення. Якщо не вказано, маска буде ініціалізована до 022.

useradd та newusers використовують цю маску для встановлення режиму створеної ними домашньої директорії


Що про redhat / debian?
osgx

AFAIK - це звичайна річ useradd, якби це було специфічним для Ubuntu, це слід було б згадати на сторінці керівництва. Сторінка керівництва redhat: linux.die.net/man/8/useradd
Lekensteyn

10

Дозвіл дому користувача за замовчуванням можна контролювати в наступних місцях.

  • Варіант каталогів скелета ( -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це 0755.
Якщо змінити DIR_MODEправильні дозволи ( DIR_MODE=0750або подібні), нові домашні каталоги матимуть потрібні дозволи.
Згідно з документацією Ubuntu, це здається найкращим варіантом.

Вже існуючі домашні каталоги користувачів потрібно буде змінити вручну.

sudo chmod 0750 /home/username

Тож непогано змінити її /etc/adduser.confвідразу після встановлення, щоб уникнути отримання нових користувачів 0755 (drwxr-xr-x)дозволів.
І все-таки найперший користувач, створений під час встановлення, 0755встановить свій домашній каталог, який слід змінити вручну.

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

Офіційне пояснення: Управління користувачами - Безпека профілю користувача
Перевірте й інші розділи Керування користувачами.

Пов'язане: /ubuntu/46501/why-can-other-users-see-the-files-in-my-home-folder


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

@ techie007 Я знаю. Користувався б коментарем, якби у мене було достатньо кількості повторень.
Сітсу

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
Ваша друга частина неправильна, домашній каталог належить вам самим, тому вам не знадобиться права суперпользователя для цього.
Лекенштейн

Ви припускаєте, що він хоче лише змінити права на власний дім. Я сказав: "Якщо у вас немає каталогу". Мій код буде працювати на домашній dir будь-якого користувача.
Rincewind42

Я відредагував вашу публікацію, щоб зробити її більш правильною (сподіваюся, вам вона сподобалася), ваша початкова публікація зовсім не включала цього: superuser.com/reitions/303995/1
Lekensteyn

0

Перевірте сторінку чоловіка umask .

За замовчуванням встановлено параметр umask

0022

Дозволяє groupі othersчитання і виконання.


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