LINUX.ORG.RU

Создание и ограничение пользователя в Linux(Debian)

 , ,


1

1

**********(Debian 4.9.2-10)******************

Здравствуйте, в рядах линуксоидов я относительно не давно и вот столкнулся с проблемой. Нужно создать и ограничить пользователя.Как бы я это не делал у меня не получалось. Как правило пользователь мог выходить за пределы своей папки. Собственно, что мне нужно? Создать пользователя, запереть его в своей папке. Дать доступ по FTP и SSH. Важно!В большинстве случаев пользователь мог выходить из своей папки по средствам ssh.

Очень жду вашей помощи в этом вопросе

P.s. Так же, если это возможно хотелось бы узнать можно ли ограничить пользователя в оперативной памяти?

Версия ядра это очень важно) Вообще надо глянуть в функцию пользователи,, хотя это дебилиан, там этого может и не быть, тогда из консоли, но я хз)

anonymous
()

ограничение при работе с ftp - файлом ftpchroot. а вот с ограничением по ssh всё намного интереснее. можно ограничить группу стандартными правами доступа (и попробовать не прибить права остальным для работы системы). И чтобы этого не произошло, можно использовать второй слой прав доступа - я тут в соседних тредах как раз про SElinux рассказывал. :)

devilinside
()
Ответ на: комментарий от Lord900

с примером, увы и ах, не подмогну, ибо ковыряться глубоко и долго. Если копать в сторону selinux - системного пользователя линкуем с пользователем selinux, как описанно по ссылочке, а дальше, можно копнуть как в сторону RBAC, так и MLS - дело вкуса, как удобнее, результат один.

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

devilinside
()

Создать пользователя, запереть его в своей папке.
ssh

Смотри в сторону restricted shell'ов, типа rbash(1). Хотя в целом это плохая идея. Если у юзера есть шелл, он рано или поздно сможет проломить защиту через к/либо уязвимость ядра, dbus, systemd или ещё какой поделки.

anonymous
()

Lord900, тебе прямо очень надо что-бы пользователь не мог сделать ls /bin, но при этом мог сделать ls ~/kotiki ? Ты уверен? Что тебе надо именно это? Может тебе всё-таки надо что-бы пользователь vasya не мог прочесть файлы пользователя petya, а содержимое /bin можно и не секретить?
Во втором случае достаточно изменить umask (параметр задающий дефолтные права доступа к файлам) всех пользователей на более строгий (не дающий доступ на чтение всем) и поменять права уже созданных другими пользователями файлов.
Если-же тебе всё-таки надо секретить содержимое /bin и прочих системных директорий то советую подумать ещё раз над тем действительно-ли тебе это нужно

MrClon ★★★★★
()
Ответ на: комментарий от Lord900

Тогда установи sshd и создай пользователя, он сможет «запускать скрипты и смотреть в консоль» (если у него нет проблем со зрением).
Или тебе всё-таки надо что-бы пользователь чего-то не мог?

MrClon ★★★★★
()
Ответ на: комментарий от Lord900

Установи sshd и screen, создай пользователя, убедись что у него его доступ на чтение к файлу start.sh.
Или сформулируй что именно тебя не устраивает в такой конфигурации

MrClon ★★★★★
()
Ответ на: комментарий от MrClon

Еще раз. Мне нужно создать пользователя. Выделить ему отдельную папку таким образом, чтоб он не смог выйти за её пределы. И смог запускать файлы в своей папке

Lord900
() автор топика
Ответ на: комментарий от Lord900

поставь lxc. создай виртуального рута user namespace. или виртуалку.

atenuouslead
()
Ответ на: комментарий от MrClon

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

Lord900
() автор топика
Ответ на: комментарий от Lord900

Вооот, мы уже подобрались к сути проблемы: почему файлы которые не должны быть доступны всем пользователям системы доступны всем пользователям системы?
Давай опустим пару раундов риторических вопросов и сразу перейдём к тому месту нашей истории в которой ты читаешь про chmod и [uel='https://ru.wikipedia.org/wiki/Umask']umask

MrClon ★★★★★
()
Ответ на: комментарий от MrClon

Я же писал, что уже пробовал и достаточно многократко. Я не спроста просил полный пример всего этого. Не нужно кидать мне ссылки. Просто приведи правильный пример

Lord900
() автор топика
Ответ на: комментарий от Lord900

Не нужно кидать мне ссылки. Просто приведи правильный пример

А вот здесь ты берёшь и идёшь прямо наxyй, никуда не сворачивая.

anonymous
()
Ответ на: комментарий от Lord900

3000 руб яндекс деньгами или биткоинами, рутовый доступ к серверу и список файлов которые не должны быть доступны абы кому. Ну или в Job

MrClon ★★★★★
()
Ответ на: комментарий от MrClon

Не захломляй тему. Уйди отсюда.

Вопрос остаётся открытым. Если есть желающие помочь. Буду благодарен

Lord900
() автор топика

Намути виртуалку

anonymous
()
Ответ на: комментарий от Lord900

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

Допустим, ты (пользователь, от которого созданы твои файлы) — lord, юзеры, которым нельзя смотреть твои файлы — user1 и user2. Тебе надо: изменить права на файлы в домашнем каталоге lord (ну и остальные принадлежащие ему файлы, если таковые есть) на 700 для исполняемых и 600 для неисполняемых, это можно сделать командой chroot, там тебе помогут o, g, -r, -X, -w и т. д. Подробнее man chmod. Эти файлы отныне не смогут читаться никем, кроме lord (и root, которому, конечно, можно всё), даже те, что с ним в одной группе. Далее, чтобы новые файлы, которые пользователь lord будет создавать, имели по умолчанию те же права (то есть, не были доступны user1, user2 и другим), нужно прописать юзеру lord umask. Там применяется маска к тем же правам, только для вновь создаваемых файлов, то есть там надо НАОБОРОТ — 077. Подробнее man umask. Если тебе надо, чтобы user1 и user2 не могли читать файлы друг друга — просто производишь те же действия для них. То есть, для всех пользователей применяешь umask. Это всё, что тебе нужно. Если ты хочешь, чтобы юзеры не могли читать ещё и в /bin, то ты этого не хочешь, поверь.

P.s. Так же, если это возможно хотелось бы узнать можно ли ограничить пользователя в оперативной памяти?

Да, можно. man ulimit

Psych218 ★★★★★
()
Последнее исправление: Psych218 (всего исправлений: 2)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.