Hide/Don't list нечетное число - readable folders

In в multi-user environment using Ubuntu server 14.04 схвати в shared drive

All users connect путь SFTP using Filezilla/WinSCP and пахал chroot to /home/company-folder/

Each user - also its own персонал folder under /home/company-folder/users/. Eg. /home/company-folder/users/username-1, /home/company-folder/users/username-2 and so on...

Now username-1 хан see other users личный folders (/home/company-folder/users/username-2, /home/company-folder/users/username-3, и т.д.), я существую cannot access other user folders but - хан see them listed.

Question is: what хан I do so users cannot see each others персонал directory under /home/company-folder/users/? Is there anyway in Ubuntu-Linux to hide нечетное число - readable folders?

Since in в system with 100 + users is not convenient for users to browse through the whole list of user folders to find his персонал folder.

3
задан 17 December 2015 в 23:49

2 ответа

Я не знаю ни о каком способе сделать то, что Вы описываете, но существует -d опция для openssh sftp-server, который определяет пользовательский начальный каталог, который может решить Вашу проблему приблизительно

[...] для просматривания целого списка пользовательских папок для нахождения его личной папки.

, Если Вы определяете Ваш sftp-server, такие как:

Subsystem sftp internal-sftp -d /users/%u

(необходимо опустить /home/company-folder/, так как Вы уже chrooted там).

1
ответ дан 1 December 2019 в 16:26

В целом, нет. Только разрешение (с Вашей точки зрения) родительские каталоги определяют, может ли ее содержание быть перечислено конкретным пользователем. Это включает записи каталога, что этот пользователь не может открываться/читать. Механизм для доступа SSH/SFTP совпадает с с локальными инструментами, так как сервер SSH/SFTP порождает подпроцесс для каждой сессии и изменяет владение подпроцесса соответствующему пользователю, как только они аутентифицируются успешно.

Рассмотрите следующий пример:

david@localhost:~$ ls -la /home
dr-xr-xr-x  1  root   root    80 Nov 10 09:05 .
drwxr-xr-x 23  root   root  4,0K Dec 17 11:09 ..
drwxr-xr-x  1 guest  guest   836 Sep  4 20:58 guest
drwxr-x---  1 david  users  4,2K Dec 14 22:07 david
drwx------  1  root   root   614 Nov 10 12:42 root

Как Вы видите, я, david, может перечислить содержание /home даже при том, что я не его владелец, так как все могут считать его (см. маску разрешения перед . запись). Я могу перечислить содержание /home/guest по той же причине. Я могу также перечислить содержание /home/david, так как я - его владелец, и владелец прочитал разрешение. Однако я не могу перечислить содержание /home/root, так как я не владелец, и никто, но владелец не прочитал полномочия на том каталоге:

david@localhost:~$ ls /home/root
ls: cannot open directory /home/root: Permission denied

Если Вы изменили владение /home для удаления разрешения чтения для невладельцев я не мог перечислить содержание /home больше:

david@localhost:~$ sudo chmod o-r /home
david@localhost:~$ ls -ld /home
drwxr-x--x 2 root root 40 Dez 17 21:17 /home
david@localhost:~$ ls -l /home
ls: cannot open directory /home: Permission denied

Хотя, я могу все еще пересечь /home и читайте /home/david, потому что разрешение пересечения (это - семантическое из “выполнения”, обдумал каталоги), все еще установлен на /home/):

david@localhost:~$ ls -l /home/david
total 732K
drwx------  1 david users 4,2K Dec 14 22:07 .
dr-xr-x--x  1 root  root    80 Nov 10 09:05 ..
drwx------  1 david users   60 Aug 24  2014 .adobe
-rw-------  1 david users   83 Dec  6 19:49 .bash_aliases
-rw-------  1 david users   66 May 12  2011 .bash_completion
-rw-------  1 david users  703 Nov 23 05:41 .bash_exports
[etc...]

См. ответ Jakuje для возможного альтернативного подхода к Вашей базовой цели.

2
ответ дан 1 December 2019 в 16:26

Другие вопросы по тегам:

Похожие вопросы: