к компьютеру подключаются пользователи через сетевые подключения.
стоит задача ограничить права пользователей . что б они имели доступ к запуску одной программы и больше ничего, ни читать ни запускать
как это лучше практически реализовать?
ограничить права пользователей
как это лучше практически реализовать?
Как вариант ssh + chroot.
а есть еще какие то варианты?
с ssh вроде понятно. а с chroot не очень
читал про chmod
если 700 (-rwx------)
Владелец может читать, записывать и запускать на выполнение; никто другой не имеет права выполнять никакие действия - то другие пользователи не смогут ни читать ни видеть ни скачивать файлы?
а с chroot не очень
При входе в chroot пользователю будет доступен только набор программ, в нём имеющийся. А какой это будет набор, зависит от вас.
Еще, думаю, можно sh=/usr/bin/program в учетной записи пользоватея. Тогда он вообще ничего не сможет, кроме как работать с program.
Еще, думаю, можно sh=/usr/bin/program в учетной записи пользоватея. Тогда он вообще ничего не сможет, кроме как работать с program.
про sh=/usr/bin/program можно чуть подробнее?
Позволю себе привести ссылку на свой пост на другом форуме. Когда вы создаете нового пользователя, у вас есть возможность задать ему оболочку командной строки (т.н. shell), что наглядно и показывает тот пост. В вашем дистрибутиве команда для добавления пользователей может быть другой. В Slackware для этого есть два инструмента: один диалоговый, являющийся надстройкой над вторым (см. ссылку), другой не-диалоговый, см. спойлер.
Показать
useradd
Usage: useradd [options] LOGIN
Options:
-b, --base-dir BASE_DIR base directory for the home directory of the
new account
-c, --comment COMMENT GECOS field of the new account
-d, --home-dir HOME_DIR home directory of the new account
-D, --defaults print or change default useradd configuration
-e, --expiredate EXPIRE_DATE expiration date of the new account
-f, --inactive INACTIVE password inactivity period of the new account
-g, --gid GROUP name or ID of the primary group of the new
account
-G, --groups GROUPS list of supplementary groups of the new
account
-h, --help display this help message and exit
-k, --skel SKEL_DIR use this alternative skeleton directory
-K, --key KEY=VALUE override /etc/login.defs defaults
-l, --no-log-init do not add the user to the lastlog and
faillog databases
-m, --create-home create the user's home directory
-M, --no-create-home do not create the user's home directory
-N, --no-user-group do not create a group with the same name as
the user
-o, --non-unique allow to create users with duplicate
(non-unique) UID
-p, --password PASSWORD encrypted password of the new account
-r, --system create a system account
-s, --shell SHELL login shell of the new account
-u, --uid UID user ID of the new account
-U, --user-group create a group with the same name as the user
Так вот, на вопрос скрипта adduser
shell [/bin/bash]: я могу просто нажать Enter, и тогда интерпретатором командной строки будет Bash. Но я могу вместо этого задать, например, /usr/bin/less, и пользователю будут доступны только возможности программы less.
P.S. Не знаю, насколько этот совет вреден или полезен - все действия на ваш страх/риск.