Как ограничить пользователей SSH предопределенным набором команд после входа в систему?

У вас уже есть typedef в вашем заголовке, поэтому включите это и определите struct foo в реализации без typedef.

foo.h:

typedef struct foo foo;
foo *create_foo(...);
delete_foo(foo *f);

foo.c:

#include <foo.h>

struct foo { int implementation; };
/* etc. */
79
задан Marcel 2 January 2009 в 09:58
поделиться

7 ответов

Можно также ограничить ключи к допустимым командам (в authorized_keys файле).

Т.е. пользователь не зарегистрировался бы на пути ssh и затем имел бы ограниченный набор команд, а скорее будет только позволен выполнить те команды через ssh (например, "ssh somehost bin/showlogfile")

64
ответ дан HD. 6 November 2019 в 02:55
поделиться

То, что Вы ищете, называют Ограниченный Shell. Bash обеспечивает такой режим, в котором пользователи могут только выполнить команды, существующие в их корневых каталогах (и они не могут переместиться в другие каталоги), который мог бы быть достаточно хорошим для Вас.

я нашел этот поток быть очень иллюстративным, если немного датированный.

14
ответ дан Vinko Vrsalovic 6 November 2019 в 02:55
поделиться

Необходимо получить 'rssh', ограниченная оболочка

, можно следовать упомянутым выше руководствам ограничения, они все довольно очевидны, и просты следовать. Поймите условия 'chroot тюрьма', и как эффективно реализовать sshd/terminal конфигурации и так далее.

Являющийся, поскольку большинство Ваших пользователей получает доступ к Вашим терминалам через sshd, необходимо также, вероятно, изучить sshd_conifg, конфигурационный файл демона SSH, для введения определенных ограничений через SSH. Будьте осторожны, как бы то ни было. Поймите правильно, что Вы пытаетесь реализовать, поскольку разветвления неправильных конфигураций, вероятно, довольно страшны.

4
ответ дан Chuah 6 November 2019 в 02:55
поделиться

Вы могли бы хотеть посмотреть на установку тюрьма .

1
ответ дан Alan W. Smith 6 November 2019 в 02:55
поделиться

Другой способ посмотреть на это использует POSIX ACLs, это должно поддерживаться Вашей файловой системой, однако у Вас может быть мелкомодульная настройка всех команд в Linux тем же путем, Вы имеете тот же контроль в Windows (только без более хорошего UI). ссылка

Другая вещь изучить PolicyKit.

необходимо будет сделать довольно мало гугления для получения всего работающего, поскольку это - определенно не сила Linux в данный момент.

0
ответ дан Bryan Rehbein 6 November 2019 в 02:55
поделиться

Порыв GNU может быть самым гибким и безопасным способом выполнить это:

Порыв GNU является Ограниченным Пользователем Shell, разработанный для сайтов, которые обеспечивают ограниченный удаленный доступ к их ресурсам, таким как svn или репозитории мерзавца, scp, и т.п. Используя сложный конфигурационный файл, Порыв GNU дает Вам полный контроль над командными строками, которые пользователи выполняют, а также над использованием системных ресурсов, таких как виртуальная память, процессорное время, и т.д.

0
ответ дан 24 November 2019 в 09:59
поделиться
Другие вопросы по тегам:

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