Як я можу перешкодити іншим бачити вміст мого домашнього каталогу, крім загальнодоступної папки?


3

У Mac OS X порівняно легко запобігти перегляду файлів, що містяться у вашому домашньому каталозі: chmod 700 ~

Я хотів би виконати його варіант. Я хочу, щоб люди відкривались / Користувачі / stalepretzel, вони бачили лише одну папку в списку: Загальнодоступна. Звідти я хотів би встановити дозволи Public, щоб люди могли зайти в цю папку і прочитати все, що не вказано інакше.

Знову ж таки, для уточнення, мені хотілося б, щоб інший користувач, який не адміністратор, міг виконати:

$ cd /Users/stalepretzel; ls
Public
$ cd Public
All     the     contents     of
my      public  folder

Відповіді:


3

Боюся, це неможливо. Користувач не може отримати доступ до будь-якого файлу чи папки будь-де в дереві каталогу, для якого він не має дозволу на читання. Якщо користувач має читання дозволів для каталогу (та всіх його директорій), він може lsбачити всі файли, які він містить.

Це може здатися не дуже охайним, але якщо ви хочете заважати користувачам не мати можливості мати lsдомашній каталог, вам доведеться створити Publicдесь за межами ~. Якщо вам легше отримати доступ до власного загальнодоступного каталогу ~/Public, створіть символьне посилання (наприклад ln -s ~/Public /Users/Shared/stalepretzel).


Ах, гарна ідея. Я, мабуть, прийму це, якщо скоро не буде інших повідомлень. Дякую!
stalepretzel

2

Я не думаю, що ти можеш зробити щось краще, ніж (стандартні речі Unix):

$ chmod 711 ~/
$ chmod g-rx,o-rx ~/*
$ chmod 755 ~/Public

щоб зробити ваш домашній каталог непрохідним, але нечитабельним, а все інше, окрім "Громадського", недоступним.

[Резюме дозволу Unix - Виконання бітів у каталозі дозволяє перехід, Читання бітів дозволяють переглядати вміст.]

На жаль, це не дозволяє будь-кому побачити, що ваша загальнодоступна папка існує - і немає ніякого способу зробити це, оскільки існування папки "Public" залежить від того, чи зможете прочитати домашній каталог, оскільки саме цей "файл" містить його (назви знаходяться в батьківських каталогах, дозволи є частиною файлу inode.)


-1

Відкрийте свій домашній директор, щоб прочитати:

$ chmod 0744 ~

і сховай усе там:

$ chmod 700 ~/*

тоді відкрийте просто Публічний каталог:

$ chmod 0744  ~/Public

Примітка. Відредагував наказ команди, щоб зробити його правильним


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

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