Рейтинг:0

Запретить пользователю видеть список домашних каталогов других пользователей

флаг bm

Я хочу, чтобы пользователь не видел список домашних каталогов (других пользователей). По умолчанию пользователь не может получить доступ к домашнему каталогу другого пользователя, но может найти домашний каталог другого пользователя, как показано ниже:

[opc@instance-20210712-0826 home]$ cd /home
[opc@instance-20210712-0826 home]$ ls -lh
всего 8.0K
drwx------. 10 opc opc 4.0K 14 ноя 22:52 opc
drwx------. 2 otheruser otheruser 62 ноя 28 18:19
drwx------. 3 яскур яскур 4.0K 28 ноя 01:45 яскур

По-другому пользователь может видеть список других пользователей (на основе домашнего каталога). Я хочу предотвратить это. Это похоже на то, что делает WHM/cPanel, если я вошел в систему как пользователь, я не вижу домашний каталог другого пользователя:

[myuser@sng128 ~]$ cd /home
[myuser@sng128 home]$ ls -l
всего 4
drwx--x--x 25 myuser myuser 4096 ноя 28 08:27 myuser

Я использую Oracle Linux, который похож на CentOS или Rocky Linux.

Paul avatar
флаг cn
Один из способов — использовать ChrootDirectory в sshd_config.
флаг pl
cPanel использует ["VirtFS Jailed Shell"](https://docs.cpanel.net/knowledge-base/accounts/virtfs-jailed-shell/) для представления пользователю виртуальной "поддельной" файловой системы. Это похоже на их собственную реализацию, но вы, вероятно, могли бы сделать что-то подобное.
Рейтинг:4
флаг cn

Ограничительные права доступа к файлам не запрещают пользователю перечислять других пользователей и их домашние каталоги. получить пароль from glibc выведет список пользователей, включая их домашние каталоги. лежащий в основе getpwent () Функция также может быть вызвана программой.

Чтобы полностью запретить любому пользователю перечислять домашние каталоги других пользователей, изолируйте пользователя. Например, дайте им собственный контейнер. Хотя «контейнер» может быть реализован различными способами: аппаратная виртуальная машина, программная виртуальная машина (режим пользователя Linux), OpenVZ, контейнеры chroot, podman или пространства имен Linux User и PID изоляции в целом.

флаг bm
Мне нужно решение без виртуальной машины, как это сделали WHM/cPanel. может быть, он использует chroot? любая ссылка об этом? Я нашел только https://askubuntu.com/questions/134425/how-can-i-chroot-sftp-only-ssh-users-into-their-homes, но он должен установить chown как root в домашний каталог, который отличается от WHM/cPanel сделал.
Paul avatar
флаг cn
Это то, что я имел в виду с помощью [`ChrootDirectory`](https://man.openbsd.org/sshd_config#ChrootDirectory) в `sshd_config`. Если единственное, что вам подходит, это WHM/cPanel, тогда используйте WHM/cPanel, иначе вы, вероятно, каким-то образом пойдете на компромисс. (И обратите внимание, что право собственности «root» применяется только к каталогу «chroot», а не к подкаталогам.)

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.