Мой типичный способ сделать это, предполагая, что все пользователи находятся в группе «пользователи»:
chmod 701 /home/*
chgrp users /home/*
При необходимости сделайте то же самое для / home, чтобы пользователи не могли видеть список домашних каталогов. Однако они могут получить почти тот же список из / etc / passwd или getent passwd
Теперь всем в группе пользователей будет отказано в доступе ко всем домашним папкам (кроме их собственных). Пользователи, не являющиеся членами (например, Apache и другие сервисы), все еще смогут подключаться к домашним каталогам, но не могут выполнять ls.
chmod 755 /home/*/public_html
<- Заменить на любой путь www, который вы используете </p>
Теперь Apache и другие сервисы будут свободны для cd / home / foobar / public_html для просмотра списка файлов и всего, что нужно веб-серверу.