Назад | Перейти на главную страницу

Разрешить доступ к определенной папке внутри HOME каталога другим пользователям

У меня есть папка «загрузки» внутри домашней папки «tempuser» («/ home / tempuser / downloads»), в которой я хочу разрешить «rwx» другому пользователю сказать «testuser». Тестовый пользователь не должен иметь никаких прав доступа к каким-либо другим файлам или папкам внутри / home / tempuser, кроме папки «downloads».

Как мне это сделать ?

чтобы пройти по папке, нужно разрешение на выполнение. Execute предоставит доступ для «выполнения» (т. Е. Перемещения) папки без доступа для чтения файлов в ней.

Итак, представьте, что у вас в домашней папке есть следующее дерево каталогов:

jvehent@laptop:~$ tree -d Downloads
├── linux-2.6.38
│   ├── arch
│   │   ├── alpha
│   │   │   ├── boot
│   │   │   │   └── tools
│   │   │   ├── include
│   │   │   │   └── asm

Вы можете предоставить кому угодно доступ к папке «asm», не давая им доступа к чему-либо еще, установив разрешение на выполнение для всех в полной иерархии, а затем разрешение на запись в папке asm:

chmod o+x /home/jvehent
chmod o+x /home/jvehent/Downloads
chmod o+x /home/jvehent/linux-2.6.38/
chmod o+x /home/jvehent/linux-2.6.38/arch
chmod o+x /home/jvehent/linux-2.6.38/arch/alpha
chmod o+x /home/jvehent/linux-2.6.38/arch/alpha/include
chmod -R o+wx /home/jvehent/linux-2.6.38/arch/alpha/include/asm

Следуя той же логике, вы можете поместить «testuser» и «tempuser» в отдельную группу «testgroup» и предоставить доступ только «tempgroup»

chgrp -R tempgroup /home/jvehent/linux-2.6.38/arch/alpha/include/asm
chmod -R g+wx /home/jvehent/linux-2.6.38/arch/alpha/include/asm

Добавить tempuser и testuser в группу и сделать /home/tempuser/downloads могут быть записаны этой группой:

# groupadd temptest
# usermod -a -G temptest tempuser
# usermod -a -G temptest testuser
# chgrp -R temptest /home/tempuser/downloads
# chmod -R g+w /home/tempuser/downloads