Как ограничить пользователя папкой? [dубликат]

Попробуйте написать -lgsl до -lgslcblas. Я знаю, что это глупо, но для меня это работает ...

33
задан 27 January 2014 в 20:05

8 ответов

Jailkit - это набор утилит, которые могут ограничивать учетные записи пользователей определенным деревом каталогов и конкретными командами. Настройка тюрьмы намного проще с помощью утилит Jailkit, которые делают это «вручную». Тюрьма - это дерево каталогов, которое вы создаете в своей файловой системе; пользователь не может видеть какие-либо каталоги или файлы, находящиеся вне каталога тюрьмы. Пользователь находится в тюрьме в этом каталоге и в его подкаталогах.

Download & amp; Установите:

http://olivier.sessink.nl/jailkit/index.html#download

# cd /tmp # wget http://olivier.sessink.nl/jailkit/jailkit-2.17.tar.gz # tar -zxvf jailkit-2.17.tar.gz # cd jailkit-2.17 # ./configure # make # make install Настройка тюрьмы

Теперь пришло время для настройки каталога тюрьмы. Поддержанные пользователи будут видеть этот каталог как корневую директорию сервера. Я решил использовать / home / jail:

# mkdir /home/jail # chown root:root /home/jail

http://olivier.sessink.nl/jailkit/index.html#download

# jk_init -v /home/jail basicshell # jk_init -v /home/jail netutils # jk_init -v /home/jail ssh # jk_init -v /home/jail jk_lsh

Настройка jail

Добавить пользователя

# useradd -d /home/testuser -m testuser -s /bin/bash # passwd testuser Теперь пришло время заключить в тюрьму этого пользователя, используя следующую команду: # jk_jailuser -m -j /home/jail testuser

Теперь пришло время заключить в тюрьму этого пользователя, используйте следующую команду:

testuser:x:1001:1001::/home/jail/./home/testuser:/usr/sbin/jk_chrootsh Включить bash Используя jk_cp, библиотеки bash будут скопированы в jail: # jk_cp -v -f /home/jail /bin/bash

Включить bash

testuser:x:1001:1001::/home/testuser:/bin/bash Техническое обслуживание

С помощью jk_cp библиотеки bash будут скопированы в тюрьму:

# jk_update -j /home/jail -d

Добавьте нового пользователя с домашним каталогом и оболочкой bash и установите пароль:

В вашем / etc / passwd должно быть что-то вроде этого:

Техническое обслуживание

jk_cp (очень хорошая помощь) Это тоже Это проверено & amp; проверено, правильно работает
19
ответ дан 17 July 2018 в 20:54

Jailkit - это набор утилит, которые могут ограничивать учетные записи пользователей определенным деревом каталогов и конкретными командами. Настройка тюрьмы намного проще с помощью утилит Jailkit, которые делают это «вручную». Тюрьма - это дерево каталогов, которое вы создаете в своей файловой системе; пользователь не может видеть какие-либо каталоги или файлы, находящиеся вне каталога тюрьмы. Пользователь находится в тюрьме в этом каталоге и в его подкаталогах.

Download & amp; Установите:

http://olivier.sessink.nl/jailkit/index.html#download

# cd /tmp # wget http://olivier.sessink.nl/jailkit/jailkit-2.17.tar.gz # tar -zxvf jailkit-2.17.tar.gz # cd jailkit-2.17 # ./configure # make # make install Настройка тюрьмы

Теперь пришло время для настройки каталога тюрьмы. Поддержанные пользователи будут видеть этот каталог как корневую директорию сервера. Я решил использовать / home / jail:

# mkdir /home/jail # chown root:root /home/jail

http://olivier.sessink.nl/jailkit/index.html#download

# jk_init -v /home/jail basicshell # jk_init -v /home/jail netutils # jk_init -v /home/jail ssh # jk_init -v /home/jail jk_lsh

Настройка jail

Добавить пользователя

# useradd -d /home/testuser -m testuser -s /bin/bash # passwd testuser Теперь пришло время заключить в тюрьму этого пользователя, используя следующую команду: # jk_jailuser -m -j /home/jail testuser

Теперь пришло время заключить в тюрьму этого пользователя, используйте следующую команду:

testuser:x:1001:1001::/home/jail/./home/testuser:/usr/sbin/jk_chrootsh Включить bash Используя jk_cp, библиотеки bash будут скопированы в jail: # jk_cp -v -f /home/jail /bin/bash

Включить bash

testuser:x:1001:1001::/home/testuser:/bin/bash Техническое обслуживание

С помощью jk_cp библиотеки bash будут скопированы в тюрьму:

# jk_update -j /home/jail -d

Добавьте нового пользователя с домашним каталогом и оболочкой bash и установите пароль:

В вашем / etc / passwd должно быть что-то вроде этого:

Техническое обслуживание

jk_cp (очень хорошая помощь) Это тоже Это проверено & amp; проверено, правильно работает
20
ответ дан 23 July 2018 в 21:35

Трудно догадаться, какую цель вы, возможно, захотите выполнить. Если это означает, что ssh / sftp запрещает доступ через FTP ... easy:

Добавить в / etc / shells новую оболочку:

sudo -e /etc/shells

Добавить одну строку:

/bin/false

Сохранить. Для каждого пользователя, которого вы хотите отменить ssh / sftp, измените оболочку пользователя:

sudo chsh -s /bin/false userx

Теперь userx не может войти в систему через ssh / sftp.

Установить vsftpd:

sudo apt-get install vsftpd

Отредактируйте файл конфигурации:

sudo -e /etc/vsftpd.conf

И некоторые изменения ....

anonymous_enable=NO local_enable=YES chroot_local_user=YES

Сохранить. Перезапустить vsftpd:

sudo /etc/init.d/vsftpd restart
1
ответ дан 17 July 2018 в 20:54

Вы можете проверить rbash как оболочку для ваших пользователей.

man bash

Найти секцию RESTRICTED SHELL

Или посмотреть на этой странице http: // linux .die.net / человек / 1 / Баш

0
ответ дан 17 July 2018 в 20:54

Вы не можете ограничивать их в / home, так как им нужен доступ к системным двоичным файлам и файлам bash и конфигурации в / etc

IMO. Самый простой способ обеспечения безопасности пользователей - использовать apparmor.

Вы создаете жесткую ссылку

ln /bin/bash /usr/local/bin/jailbash

Вы добавляете jailbash в / etc / shells

Затем вы назначаете jailbash для оболочки пользователя, а затем записываете профиль apparmor для jailbash разрешая минимальный доступ.

sudo chsh -s /usr/local/bin/jailbash user_to_confine

Вам нужно будет написать профиль apparmor самостоятельно, но у меня есть профиль, который вы могли бы начать с

http://bodhizazen.com/aa Представлены профили / bodhizazen / убунт-10,04 / usr.local.bin.jailbash

6
ответ дан 17 July 2018 в 20:54

Вы можете проверить rbash как оболочку для ваших пользователей.

man bash

Найти секцию RESTRICTED SHELL

Или посмотреть на этой странице http: // linux .die.net / человек / 1 / Баш

0
ответ дан 23 July 2018 в 21:35
  • 1
    Просто будьте очень осторожны с rbash, это очень легко вырваться из и вроде считаться устаревшим. См. [D0] blog.bodhizazen.net/linux/how-to-restrict-access-with-rbash – Panther 7 January 2012 в 03:43
  • 2
    @ bodhi.zazen Вы имеете в виду rbash? – Karlson 7 January 2012 в 03:47
  • 3
    да, извините, я это исправил. Несколько лет назад был блог, в котором кто-то сломал нашу тюрьму rbash, которую я установил, и я, хотя это была жесткая, минимальная тюрьма. Принимали их менее 5 минут. Никто не вырвался из тюрьмы. – Panther 7 January 2012 в 03:49
  • 4
    Может ли плз рассказать мне, как мне настроить его ... jailbash – One Zero 7 January 2012 в 19:24
  • 5
    да, man bash помогает, используя bash, ограниченные возможности оболочки проще – c4f4t0r 26 February 2014 в 17:21

Вы не можете ограничивать их в / home, так как им нужен доступ к системным двоичным файлам и файлам bash и конфигурации в / etc

IMO. Самый простой способ обеспечения безопасности пользователей - использовать apparmor.

Вы создаете жесткую ссылку

ln /bin/bash /usr/local/bin/jailbash

Вы добавляете jailbash в / etc / shells

Затем вы назначаете jailbash для оболочки пользователя, а затем записываете профиль apparmor для jailbash разрешая минимальный доступ.

sudo chsh -s /usr/local/bin/jailbash user_to_confine

Вам нужно будет написать профиль apparmor самостоятельно, но у меня есть профиль, который вы могли бы начать с

http://bodhizazen.com/aa Представлены профили / bodhizazen / убунт-10,04 / usr.local.bin.jailbash

6
ответ дан 23 July 2018 в 21:35
  • 1
    You can not confine them to /home as they need access to the system binaries and bash and configuration files in /etc Ничто не мешает вам связывать / копировать файлы, которые, по вашему мнению, им нужны. – user606723 7 January 2012 в 03:52
  • 2
    Да, вы можете & quot; можете & quot; делать так, как предлагает пользователь606723, но это не так просто, а ИМО всех возможных решений наименее практичны или легки. Можно также построить chroot или использовать lxc. Вы копируете двоичный файл, затем библиотеки. Часто вам нужно вручную идентифицировать libs с помощью ldd. Этот метод требует много работы для настройки. И тогда вы должны держать тюрьму в курсе событий, вам придется вручную обновлять (копировать) бинарные файлы / библиотеки. Ссылки могут работать лучше с точки зрения обновлений, но вам все равно нужно их установить. Почему-то я не думаю, что это то, что имел в виду ОП. Как тогда их держать? – Panther 7 January 2012 в 04:08
  • 3
    Я думаю, что вся суть вопроса заключалась в том, чтобы указать инструменты для автоматизации этого процесса ... например jailkit, инструмент, о котором упоминает OP. – user606723 7 January 2012 в 04:28
  • 4
    @ bodhi.zazen. что вы думаете об этом .. debootstrap (oneiric), затем создайте контейнер, используя lxc. с использованием набора для тюленей & gt; пользователь в контейнер & gt; , что я сделал до сих пор, у меня есть debbootstrap oneiric minimum, а затем используется jailkit & gt; – One Zero 7 January 2012 в 20:44
  • 5
    вы можете использовать LXC для этой задачи, остерегайтесь того, что изоляция иногда неполна с LXC. До тех пор, пока у пользователей нет корневого доступа в контейнере, вы должны быть в порядке, и вы можете подписаться на список рассылки LXC. – Panther 7 January 2012 в 21:06

Трудно догадаться, какую цель вы, возможно, захотите выполнить. Если это означает, что ssh / sftp запрещает доступ через FTP ... easy:

Добавить в / etc / shells новую оболочку:

sudo -e /etc/shells

Добавить одну строку:

/bin/false

Сохранить. Для каждого пользователя, которого вы хотите отменить ssh / sftp, измените оболочку пользователя:

sudo chsh -s /bin/false userx

Теперь userx не может войти в систему через ssh / sftp.

Установить vsftpd:

sudo apt-get install vsftpd

Отредактируйте файл конфигурации:

sudo -e /etc/vsftpd.conf

И некоторые изменения ....

anonymous_enable=NO local_enable=YES chroot_local_user=YES

Сохранить. Перезапустить vsftpd:

sudo /etc/init.d/vsftpd restart
1
ответ дан 23 July 2018 в 21:35

Другие вопросы по тегам:

Похожие вопросы: