2

Мой вопрос немного сложен. По сути, я хочу предоставить пользователям ssh/sftp доступ к серверу в их каталог /home /user. Я хочу ограничить их возможность просматривать другие каталоги /home /user. Достаточно просто, верно? Нет. Я хочу, чтобы отдельный пользователь (скажем, apache) имел права на чтение и для всех каталогов /home.

Прямо сейчас у меня есть следующие завивки:

drwxr-xr-x  14 root root   4096 Apr  3 15:41 home
...
cd /home
ll
drwxr-x--- 2 user1   user1   4096 Feb 10 14:16 user1
...

и я добавил пользователя "apache" в группу для всех пользователей:

groups apache
apache : apache user1

Проблема с этой конфигурацией состоит в том, что когда пользователь user1 входит в систему, он может просматривать /home /*

если я изменю /home каталог на 750, то когда пользователь попытается войти в систему, он не сможет получить доступ к своей собственной папке.

Какие-либо предложения?

2 ответа2

0

Можете ли вы изменить доступ группы только для чтения, добавить Apache в группу и ограничить все разрешения для всех остальных? Таким образом, позволяя пользователю-владельцу изменять свои файлы по своему усмотрению, в то время как Apache и другие службы могут только читать?

Я не большой гуру в области разрешений, но я думаю, что это сработает.

0

Насколько я понимаю, вы хотите, чтобы большинство пользователей не могли видеть содержимое /home , в то же время позволяя им входить в систему и использовать систему в обычном режиме, а группе apache просматривать содержимое /home .

Для каталогов пользователи должны иметь разрешение на выполнение НИЧЕГО с содержимым, включая cd . Таким образом, пользователи без разрешения на выполнение /home не смогут даже увидеть, что их домашние каталоги существуют, не говоря уже о запуске в них оболочки.

Попробуй это:

sudo chown root:apache /home  # owner=root, group=apache
sudo chmod 751 /home          # rwxr-x--x

Это должно позволить группе apache (и запретить всем остальным) перечислять содержимое /home , при этом каждый пользователь должен иметь доступ к своему индивидуальному домашнему каталогу.

Обратите внимание, что это не мешает пользователям получать информацию о каталогах в /home если они уже знают свои имена. ls /home не должен работать, но ls -ld /home/$anything даст. Вы можете запретить пользователям, не работающим с apache что-либо делать в домашних каталогах других пользователей, установив для них значение $user:apache rwxr-x---:

sudo chown $user:apache ~$user  # owner=$user, group=apache
sudo chmod 750 ~$user           # rwxr-x---

Вам нужно будет сделать это для каждого существующего пользователя с домашним каталогом и для каждого нового пользователя, которого вы создаете.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .