LinuxForum.Fans
Тема

ограничить права пользователей

Автор: samyimalenki 7 сообщений 2272 просмотров
#274991

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

как это лучше практически реализовать?

#274992
"samyimalenki" написал:
как это лучше практически реализовать?

Как вариант ssh + chroot.

#275015

а есть еще какие то варианты?
с ssh вроде понятно. а с chroot не очень

читал про chmod
если 700 (-rwx------)
Владелец может читать, записывать и запускать на выполнение; никто другой не имеет права выполнять никакие действия - то другие пользователи не смогут ни читать ни видеть ни скачивать файлы?

#275017
"samyimalenki" написал:
а с chroot не очень

При входе в chroot пользователю будет доступен только набор программ, в нём имеющийся. А какой это будет набор, зависит от вас.

#275030

Еще, думаю, можно sh=/usr/bin/program в учетной записи пользоватея. Тогда он вообще ничего не сможет, кроме как работать с program.

#275082
yars написал:
Еще, думаю, можно sh=/usr/bin/program в учетной записи пользоватея. Тогда он вообще ничего не сможет, кроме как работать с program.

про sh=/usr/bin/program можно чуть подробнее?

#275098

Позволю себе привести ссылку на свой пост на другом форуме. Когда вы создаете нового пользователя, у вас есть возможность задать ему оболочку командной строки (т.н. shell), что наглядно и показывает тот пост. В вашем дистрибутиве команда для добавления пользователей может быть другой. В Slackware для этого есть два инструмента: один диалоговый, являющийся надстройкой над вторым (см. ссылку), другой не-диалоговый, см. спойлер.

Показать
text
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

text
shell [/bin/bash]:

я могу просто нажать Enter, и тогда интерпретатором командной строки будет Bash. Но я могу вместо этого задать, например, /usr/bin/less, и пользователю будут доступны только возможности программы less.
P.S. Не знаю, насколько этот совет вреден или полезен - все действия на ваш страх/риск.

Войдите или зарегистрируйтесь, чтобы ответить.