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.
Я не знаю ни о каком способе сделать то, что Вы описываете, но существует -d
опция для openssh sftp-server
, который определяет пользовательский начальный каталог, который может решить Вашу проблему приблизительно
[...] для просматривания целого списка пользовательских папок для нахождения его личной папки.
, Если Вы определяете Ваш sftp-server
, такие как:
Subsystem sftp internal-sftp -d /users/%u
(необходимо опустить /home/company-folder/
, так как Вы уже chrooted там).
В целом, нет. Только разрешение (с Вашей точки зрения) родительские каталоги определяют, может ли ее содержание быть перечислено конкретным пользователем. Это включает записи каталога, что этот пользователь не может открываться/читать. Механизм для доступа 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 для возможного альтернативного подхода к Вашей базовой цели.