anonymous@RULINUX.NET~# Last login: 2024-11-22 11:08:13
Регистрация Вход Новости | Разметка | Пользователи | Галерея | Форум | Статьи | Неподтвержденное | Трекер | Правила форума | F.A.Q. | Ссылки | Поиск
[#] [Добавить метку] [Редактировать]
Скрыть

[управление пользователями] Как запретить логин, но разрешить выполнение через su -c 'command' - username?

Задача такая: завести пользователя для запуска одной единственной программы; всё прочее должно быть отключено. Соответственно, при попытке su - username должно выдаваться предупреждение "Тут ловить нечего, ПНХ!" и автоматический exit, но при su -c command - username должна запускаться эта команда от этого пользователя. Такое возможно?

chsh -s /sbin/nologin username даёт "ПНХ!" в любом случае.

anonymous(*) (2012-12-04 12:33:29)

[Ответить на это сообщение]
avatar
Скрыть

Re:[управление пользователями] Как запретить логин, но разрешить выполнение через su -c 'command' - username?

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

я не так сильно знаю chown но возможно это можно сделать.

vilfred(*)(2012-12-04 13:14:53)

avatar
Скрыть

Re:[управление пользователями] Как запретить логин, но разрешить выполнение через su -c 'command' - username?

Чем sudo не айс?

josephson(*)(2012-12-04 13:16:16)

avatar
Скрыть

Re:[управление пользователями] Как запретить логин, но разрешить выполнение через su -c 'command' - username?

> Чем sudo не айс?
По-моему, это аналог su -c. Впрочем, если есть рабочий пример, то попробую так.

anonymous(*)(2012-12-04 13:24:08)

avatar
Скрыть

Re:[управление пользователями] Как запретить логин, но разрешить выполнение через su -c 'command' - username?

SELinux или AppArmor возможно помогут решить это.

Ax-Xa-Xa(*)(2012-12-04 13:25:57)

Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11
avatar
Скрыть

Re:[управление пользователями] Как запретить логин, но разрешить выполнение через su -c 'command' - username?

> SELinux или AppArmor
Ни в коем случае!

anonymous(*)(2012-12-04 13:37:43)

avatar
Скрыть

Re:[управление пользователями] Как запретить логин, но разрешить выполнение через su -c 'command' - username?

В /etc/sudoers

username ALL=(ALL) NOPASSWD: /path/command

josephson(*)(2012-12-04 13:43:08)

avatar
Скрыть

Re:[управление пользователями] Как запретить логин, но разрешить выполнение через su -c 'command' - username?

groupadd -r onecommand # создать системную группу

cat /etc/passwd | grep onecommand

onecommand:x:12345:12345::/home/onecommand:/usr/bin/command.pl

и дать права на группу для /usr/bin/command.pl

както так наверное.

А далее в группу добавлять пользователей.

Как писать отлуп на другие команды - не знаю...

vilfred(*)(2012-12-04 13:54:48)

avatar
Скрыть

Re:[управление пользователями] Как запретить логин, но разрешить выполнение через su -c 'command' - username?

> username ALL=(ALL) NOPASSWD: /path/command
Как при этом запретить логин?

anonymous(*)(2012-12-04 14:09:38)

avatar
Скрыть

Re:[управление пользователями] Как запретить логин, но разрешить выполнение через su -c 'command' - username?

> su - username
>> Как при этом запретить логин?
ты определись что тебе нужно, ты говоришь в коанах дзен^Wкоманд консоли

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

http://kpolyakov.narod.ru/prog/humor.htm

причем тут вообще сам юникс в смысле SysV скриптов

vilfred(*)(2012-12-04 14:19:31)
Отредактировано vilfred по причине "не указана"
avatar
Скрыть

Re:[управление пользователями] Как запретить логин, но разрешить выполнение через su -c 'command' - username?

Из-под юзера:

sudo command

josephson(*)(2012-12-04 14:20:13)

avatar
Скрыть

Re:[управление пользователями] Как запретить логин, но разрешить выполнение через su -c 'command' - username?

Вилли, честно, я тебя не понял.

Уточняю ТЗ: завести пользователя для выполнение одной-единственной команды (запуск браузера, например), при этом, если вдруг пароль утечёт/поломают браузер через дыры, то ничего нельзя бы было выполнить, даже залогиниться в систему под этим пользователем.

anonymous(*)(2012-12-04 14:42:49)

avatar
Скрыть

Re:[управление пользователями] Как запретить логин, но разрешить выполнение через su -c 'command' - username?

А, теперь ясно: никто никого не понял. :) Тогда так. Заведи пользователя, в /etc/passwd в последнем поле замени /bin/bash на /path/command

josephson(*)(2012-12-04 15:04:41)
Отредактировано josephson по причине "не указана"
avatar
Скрыть

Re:[управление пользователями] Как запретить логин, но разрешить выполнение через su -c 'command' - username?

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

имхо простое решение повесить любого самописного на любом ЯП демона на telnet 123.234.345.23 1234

и коннектиться на хост:порт и вводить команду

vilfred(*)(2012-12-04 15:49:31)

avatar
Скрыть

Re:[управление пользователями] Как запретить логин, но разрешить выполнение через su -c 'command' - username?

>Как при этом запретить логин?


nologin в /etc/passwd

может быть ещё можно не выставлять пароль

anonymous(*)(2012-12-04 16:00:57)

Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/17.0 Firefox/17.0
avatar
Скрыть

Re:[управление пользователями] Как запретить логин, но разрешить выполнение через su -c 'command' - username?

нулевой пароль сделать, как у рута в убунте

Pshen(*)(2012-12-04 16:39:57)

Mozilla/5.0 (iPad; U; CPU OS 3_2 like Mac OS X; en-us) AppleWebKit/531.21.10 (KHTML, like Gecko) Version/4.0.4 Mobile/7B334b Safari/531.21.10
avatar
Скрыть

Re:[управление пользователями] Как запретить логин, но разрешить выполнение через su -c 'command' - username?

> нулевой пароль сделать, как у рута в убунте
А что я буду набирать в sudo -c 'ls' username?

UPD:

А что я буду набирать в su -c 'ls' username?

anonymous(*)(2012-12-04 17:37:07)
Отредактировано anonymous по причине описка
avatar
Скрыть

Re:[управление пользователями] Как запретить логин, но разрешить выполнение через su -c 'command' - username?

>А что я буду набирать в sudo -c 'ls' username?
тебе же sudoers разрешит выполнять только твою программу

anonymous(*)(2012-12-04 17:50:38)
Отредактировано anonymous по причине "не указана"
Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/17.0 Firefox/17.0
avatar
Скрыть

Re:[управление пользователями] Как запретить логин, но разрешить выполнение через su -c 'command' - username?

просто используй sudo правильно

Pshen(*)(2012-12-04 17:56:04)

Mozilla/5.0 (iPad; U; CPU OS 3_2 like Mac OS X; en-us) AppleWebKit/531.21.10 (KHTML, like Gecko) Version/4.0.4 Mobile/7B334b Safari/531.21.10
Этот тред читают 4 пользователя:
Анонимных: 4
Зарегистрированных: 0




(c) 2010-2020 LOR-NG Developers Group
Powered by TimeMachine

Valid HTML 4.01 Transitional Правильный CSS!