Чому інші користувачі можуть бачити файли в моїй домашній папці?


36

Я щойно додав нового, непривілейованого "користувача на робочому столі", і з подивом виявив, що він може бачити файли в моїй домашній папці.

Що є раціональним для встановлення таких розслаблених дозволів?


Відповіді:


32

У Publicвашому домашньому каталозі ( /home/user) існує папка для обміну файлами з іншими користувачами. Якщо інший користувач хоче отримати доступ до цієї Publicпапки, біт виконання для світу слід встановити в домашній каталог.

Якщо вам не потрібно дозволити іншим отримувати доступ до вашої домашньої папки (інших людей або користувачів, як www-dataдля веб-сервера), вам буде добре chmod o-rwx "$HOME"(видалити читання / запис / виконання з "іншого", що еквівалентно chmod 750 "$HOME"тому, що дозвол за замовчуванням становить 750 ). В іншому випадку вам слід також змінити umaskналаштування, щоб запобігти новоствореним файлам отримувати дозволи для читання для світу за замовчуванням.

Для загальносистемної конфігурації відредагуйте /etc/profile; можна налаштувати налаштування кожного користувача ~/.profile. Я віддаю перевагу тій же політиці для всіх користувачів, тому я б редагував /etc/profileфайл і додав рядок:

umask 027

Вам потрібно повторно увійти, щоб застосувати ці зміни, якщо ви не знаходитесь в оболонці. У цьому випадку ви можете запустити umask 027в оболонці.

Тепер, щоб виправити існуючі дозволи, потрібно видалити дозволи на читання / запис / виконання з інших:

chmod -R o-rwx ~

Тепер, якщо ви вирішили поділитися ~/Publicпапкою з усіма, запустіть наступні команди:

  • chmod o+x ~- дозволити всім спускатися в каталог ( x), але не отримувати перелік каталогів ( rне слід додавати)
  • find ~/Public -type f -exec chmod o+r {} \; - дозволяти всім читати файли в ~/Public
  • find ~/Public -type d -exec chmod o+rx {} \; - дозволяти всім спускатися в каталоги та перелічувати їхній вміст

Якщо ви використовуєте GNU coreutils (наприклад, для Ubuntu, а не для вбудованої системи, що має лише busybox), то попередні дві команди використовують findі chmodможуть бути замінені цією єдиною командою, яка рекурсивно робить папки та файли читабельними (і додатково додає Execute (спад) біт лише для каталогів ):

chmod -R o+rX ~/Public

13

За словами співробітника Ubuntuforms.org , це спрощення обміну файлами між новими користувачами.

Ви можете змінити дозвіл на 700 або 750, якщо ви не хочете, щоб файли читали та виконували інші.

Команда:

chmod 750 $HOME

Примітка: за замовчуванням Ubuntu 755


2
Звичайно, інші користувачі не повинні бути судорами .
Пабло А

7

За словами Марка Шуттлворта ,

"Більшість користувачів систем Ubuntu або ексклюзивно користуються машиною (персональним ноутбуком), або діляться з друзями та родичами. Ми припускаємо, що люди, які діляться машиною, або довіряють, або в змозі зламати машину (завантаження). від USB!) тривіально. Як результат, мало користі "

... від видалення цих дозволів.


12
Я думаю, що однакова поведінка у серверній редакції є
дією

4
Це шалені пояснення. Крім облікових записів людей, є технічні акаунти, які люди можуть використовувати для ізоляції програм. Крім того, існує багато інструкцій щодо налаштування локального ftp-сервера, який по суті ділиться обліковим записом на машині.
Барафу Альбіно

4
Я знаю, що це стара нитка, але вважаю це дурним рішенням. Уявіть, що один із користувачів запускає додаток / сценарій (може бути ненавмисно), який може читати та надсилати файли з будь-якого іншого профілю.
mauron85

5

Ви можете прочитати розділ « Керування користувачами» в Посібнику з сервера Ubuntu, який містить необхідні деталі. Профіль користувача Безпека пункт, швидше за все , відповість на ваші питання - офіційно.


4
Я ціную офіційне джерело. На жаль, схоже, це не схоже, що це дає якесь виправдання.
ændrük

1

Я думаю , що відповідь Лекенштейна можна покращити, замінивши останні дві команди пошуку на chmod, використовуючи параметр -X (зверніть увагу на велику літеру X). Дві команди пошуку можна замінити на

chmod -R o+rX ~/Public

Це належним чином розмежовує файли та каталоги, але надає додатковий ефект, дозволяючи іншим запускати виконувані файли.


0

Оскільки саме конфіденційність вас цікавить (судячи з застосованих тегів), цілком можливо, що встановлення дозволів недостатньо (див . Відповідь ignis ). Відповідь може бути чимось уздовж зашифрованого домашнього каталогу . Це рішення спеціально розроблено проти нападу іншого користувача комп'ютера. Звичайно, не вдасться зупинити іншого користувача від пошкодження ваших файлів (просто видаливши ~/.Privateкаталог, тим самим видаливши всі ваші файли), але вони не зможуть змонтувати каталог та побачити файли без вашого пароля.

Найпростіший спосіб цього досягти під час встановлення - це прапорець, зазначаючи "Зашифрувати домашній каталог", і вам потрібно вибрати його.

Оскільки навряд чи ви захочете перевстановити саме для цього (і тому, що він все ще несе всі ризики, пов'язані з цим без перевстановлення), ви можете зробити наступне:

sudo apt-get install encryptfs-utils
encryptfs-migrate-home

-1

Якщо вам справді потрібен високий рівень безпеки: будь ласка, перевстановіть і переконайтесь, що виберіть варіант для шифрування всього вашого диска. Для цього навіть знадобиться пароль, щоб навіть запустити машину. Ви, звичайно, також можете зашифрувати домашню папку ще раз із цим, дещо знизивши продуктивність; хоч і не помітний для звичайного використання.

Зауважте, що шифрування домашньої папки відключить такі програми, як Dropbox. Dropbox не є захищеним сховищем, яке так чи інакше поважає конфіденційність, тому це може бути банальним моментом. Однак якщо вам потрібне захищене та приватне зберігання у хмарі, я особисто рекомендую MEGAsync, оскільки тільки у вас будуть ключі для доступу до даних.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.