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

Автор Tesla, 17 января 2015, 22:24:14

« назад - далее »

0 Пользователи и 2 гостей просматривают эту тему.

yura_n

Средствами Tomoyo/Akari можно запретить доступ файловых менеджеров к системным каталогам. Тоже самое наверное можно сделать и для эмулятора терминала (не пробовал). Тогда пользователь не сможет их увидеть.

Tesla

Цитата: Tesla от 18 января 2015, 20:15:00сли речь идет о системных файлах, то какой смысл запрещать это пользователю? Пускай просматривает. Важно чтобы он изменять их не мог. Если речь идет о файлах других пользователей, то это зависит от того, в какие группы пользователи входят, от прав установленных на файлы для группы и остальных.
Если пользователь будет иметь доступ к системным файлам (только чтение) то это не будет нести потенциальную опасность для системы?
Цитата: ihammers от 18 января 2015, 20:29:07
Пользователь локальный или доступ получает, через SSH/SFTP. Если получает доступ удалённо, то смотрите в сторону chroot в настройках openssh-server.

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


Помогите пожалуйста разобраться с chroot.

В файле /etc/ssh/sshd_config:
1. Удалил строку Subsystem sftp /usr/lib/openssh/sftp-server
2. Добавит строку Subsystem sftp internal-sftp
3. И добавил :
Match Group h7jkqxzrstu
    ChrootDirectory /home
    ForceCommand internal-sftp
    AllowTcpForwarding no

Инструкцию брал с этого сайта http://blog.antage.name/posts/sftp-chroot-%D0%B2-%D0%B4%D0%BE%D0%BC%D0%B0%D1%88%D0%BD%D1%8E%D1%8E-%D0%BF%D0%B0%D0%BF%D0%BA%D1%83.html
По идеи это должно запретить доступ через консоль, но оставить доступ через SFTP, для пользывателей группы h7jkqxzrstu.
В результате пользователи данной группы не могут зайти через консоль, через SFTP заходят, их сразу направляет в "/" но отсюда они никуда не могут зайти (даже в папку / home) и ничего не могут сделать

yura_n

Цитата: Tesla от 28 января 2015, 14:25:21Если пользователь будет иметь доступ к системным файлам (только чтение) то это не будет нести потенциальную опасность для системы?
А какая в этом может быть опасность, если пользователь только читает системные файлы, а изменять их не может? Это нормальное состояние.

ihammers

Цитата: Tesla от 28 января 2015, 14:25:21Доступ с SSH/SFTP (если я правильно понимаю то доступ через программу filezila будет идти черзе SFTP)
Если вы укажите в Filezilla использовать SFTP, насколько я помню, в настройках подключения есть такой пункт.

Цитата: Tesla от 28 января 2015, 14:25:21
Помогите пожалуйста разобраться с chroot.

В файле /etc/ssh/sshd_config:
1. Удалил строку Subsystem sftp /usr/lib/openssh/sftp-server
2. Добавит строку Subsystem sftp internal-sftp
3. И добавил :
Match Group h7jkqxzrstu
    ChrootDirectory /home
    ForceCommand internal-sftp
    AllowTcpForwarding no

Инструкцию брал с этого сайта http://blog.antage.name/posts/sftp-chroot-%D0%B2-%D0%B4%D0%BE%D0%BC%D0%B0%D1%88%D0%BD%D1%8E%D1%8E-%D0%BF%D0%B0%D0%BF%D0%BA%D1%83.html
По идеи это должно запретить доступ через консоль, но оставить доступ через SFTP, для пользывателей группы h7jkqxzrstu.
В результате пользователи данной группы не могут зайти через консоль, через SFTP заходят, их сразу направляет в "/" но отсюда они никуда не могут зайти (даже в папку / home) и ничего не могут сделать
Лучше всё-таки исправить права доступа к директории на root, в большинстве инструкций так делают.
~# nano /etc/ssh/sshd_config
Subsystem sftp internal-sftp
Match group h7jkqxzrstu
         ChrootDirectory /home/%u
         X11Forwarding no
         AllowTcpForwarding no
         ForceCommand internal-sftp


Потом правим права на директорию:
~# chown root.root /home/USER
~# usermod -d / USER # В некоторых случаях требуется изменить home директорию для пользователя.
~# adduser user h7jkqxzrstu


Когда-то настраивал, насколько я помню, по следующей инструкции: ссылка.

PS: пункт с usermod я не использовал, так как мне он не потребовался.
Debian GNU/Linux Bookworm, LXQt/OpenBox: AMD Ryzen 5 5600G / 64Gb RAM
_______________________________
Debian GNU/Linux Bookworm, без графики: AMD Phenon X4 / 16Gb RAM
_______________________________
Debian GNU/Linux Bookworm, LXQt/OpenBox: Acer Aspire One 722 AMD C60 / 8Gb RAM / ATI HD6290

Tesla

[code=javascript]~# chown root.root /home/USER
~# usermod -d / USER # В некоторых случаях требуется изменить home директорию для пользователя.
~# adduser user h7jkqxzrstu
[/code]
Объясните пожалуйста что здесь что делает

Когда задаю такие настройки то не подключается ни через ssh ни через filezila
Subsystem sftp internal-sftp
Match group h7jkqxzrstu
         ChrootDirectory /home/%u
         X11Forwarding no
         AllowTcpForwarding no
         ForceCommand internal-sftp


ihammers

Цитата: Tesla от 01 февраля 2015, 17:35:06Объясните пожалуйста что здесь что делает
1 - устанавливает пользователя и группу для домашней директории пользователя на root.
2 - второй пункт описан выше, я его не использовал.
3 - добавляет пользователя в группу, по которой происходит проверка.

Цитата: Tesla от 01 февраля 2015, 17:35:06Когда задаю такие настройки то не подключается ни через ssh ни через filezila
Если всё правильно сделали, то должно работать, если возникают проблемы, то смотрите в логах. В первую очередь в auth.log.
Debian GNU/Linux Bookworm, LXQt/OpenBox: AMD Ryzen 5 5600G / 64Gb RAM
_______________________________
Debian GNU/Linux Bookworm, без графики: AMD Phenon X4 / 16Gb RAM
_______________________________
Debian GNU/Linux Bookworm, LXQt/OpenBox: Acer Aspire One 722 AMD C60 / 8Gb RAM / ATI HD6290

Tesla

Цитата: ihammers от 02 февраля 2015, 05:17:43chown root.root /home/USER
Спасибо работает. Но так как владельцем домашнего каталога пользователя есть root, то пользователь не сможет изменять никакие данные в своем домашнем каталоге. Подскажите пожалуйста как сделать так чтобы он имел права RW

Объясните пожалуйста зачем вообще менять владельца домашнего каталога

ihammers

Цитата: Tesla от 03 февраля 2015, 19:27:11
Цитата: ihammers от 02 февраля 2015, 05:17:43chown root.root /home/USER
Спасибо работает. Но так как владельцем домашнего каталога пользователя есть root, то пользователь не сможет изменять никакие данные в своем домашнем каталоге. Подскажите пожалуйста как сделать так чтобы он имел права RW
Если хотите, чтобы пользователь имел право изменять содержание, корневой директории, то есть домашней для него в окружении chroot, то исправьте в команде группу к которой принадлежит директория (h7jkqxzrstu). Должно помочь.

Цитата: Tesla от 03 февраля 2015, 19:27:11
Объясните пожалуйста зачем вообще менять владельца домашнего каталога
Всё проистекает из механизмов chroot:
Цитата: Википедияchroot — операция изменения корневого каталога в Unix-подобных операционных системах. Программа, запущенная с изменённым корневым каталогом, будет иметь доступ только к файлам, содержащимся в данном каталоге.
Используя данный механизм в системе можно построить другую систему. И эта система не будет знать о существовании первой.
Так же это, скажем так, может предоставить большую безопасность, но в программах существуют ошибки.
Debian GNU/Linux Bookworm, LXQt/OpenBox: AMD Ryzen 5 5600G / 64Gb RAM
_______________________________
Debian GNU/Linux Bookworm, без графики: AMD Phenon X4 / 16Gb RAM
_______________________________
Debian GNU/Linux Bookworm, LXQt/OpenBox: Acer Aspire One 722 AMD C60 / 8Gb RAM / ATI HD6290

Tesla

Цитата: ihammers от 04 февраля 2015, 05:10:27Если хотите, чтобы пользователь имел право изменять содержание, корневой директории, то есть домашней для него в окружении chroot, то исправьте в команде группу к которой принадлежит директория (h7jkqxzrstu). Должно помочь.
Можете объяснить подробнее, не понял. Возможно рутор создать в домашнем каталоге пользователя папку, и передать права (владельца) пользователю который должен иметь доступ?

ihammers

Если создать внутри домашней директорию новую и выставить пользователя и группу, то пользователь сможет создавать/изменять содержимое данной директории.
~# mkdir /home/USER/new_dir
chown USER:h7jkqxzrstu /home/USER/new_dir
Debian GNU/Linux Bookworm, LXQt/OpenBox: AMD Ryzen 5 5600G / 64Gb RAM
_______________________________
Debian GNU/Linux Bookworm, без графики: AMD Phenon X4 / 16Gb RAM
_______________________________
Debian GNU/Linux Bookworm, LXQt/OpenBox: Acer Aspire One 722 AMD C60 / 8Gb RAM / ATI HD6290

Tesla


Tesla

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

ihammers

Покажите для этих пользователей:
~$ ls -ans /home/
И ещё список групп, к которым они принадлежат:
~$ groups #от пользователя

PS: или как вариант ~$ grep USER /etc/group.
Debian GNU/Linux Bookworm, LXQt/OpenBox: AMD Ryzen 5 5600G / 64Gb RAM
_______________________________
Debian GNU/Linux Bookworm, без графики: AMD Phenon X4 / 16Gb RAM
_______________________________
Debian GNU/Linux Bookworm, LXQt/OpenBox: Acer Aspire One 722 AMD C60 / 8Gb RAM / ATI HD6290

Tesla

newuser1@S2:~$ ls -ans /home/
итого 36
4 drwxr-xr-x  6 0 0  4096 Фев  7 18:56 .
4 drwxr-xr-x 23 0 0  4096 Янв 11 18:39 ..
4 drwxr-xr-x  3 0 0  4096 Фев  7 17:59 h7jkqxzrstu
16 drwx------  2 0 0 16384 Янв 11 18:35 lost+found
4 drwxr-xr-x  2 0 0  4096 Фев  7 18:10 newuser1
4 drwxr-xr-x  2 0 0  4096 Фев  7 19:15 TMP

newuser1@S2:~$ groups
newuser1 backupp



h7jkqxzrstu@S2:~$ ls -ans /home/
итого 36
4 drwxr-xr-x  6 0 0  4096 Фев  7 18:56 .
4 drwxr-xr-x 23 0 0  4096 Янв 11 18:39 ..
4 drwxr-xr-x  3 0 0  4096 Фев  7 17:59 h7jkqxzrstu
16 drwx------  2 0 0 16384 Янв 11 18:35 lost+found
4 drwxr-xr-x  2 0 0  4096 Фев  7 18:10 newuser1
4 drwxr-xr-x  2 0 0  4096 Фев  7 19:15 TMP

h7jkqxzrstu cdrom floppy audio dip video plugdev backupp

ihammers

Цитата: Tesla от 07 февраля 2015, 21:24:02Подскажите что сделать или что может быть не так.
А что вы хотите сделать? Ограничить доступ на просмотр директории новому пользователю?

PS: если я правильно понял, то вам нужен chmod 700 (или выставить параметр группы на g=-x). На Википедии есть хорошая статья.
Debian GNU/Linux Bookworm, LXQt/OpenBox: AMD Ryzen 5 5600G / 64Gb RAM
_______________________________
Debian GNU/Linux Bookworm, без графики: AMD Phenon X4 / 16Gb RAM
_______________________________
Debian GNU/Linux Bookworm, LXQt/OpenBox: Acer Aspire One 722 AMD C60 / 8Gb RAM / ATI HD6290