Форум русскоязычного сообщества Ubuntu


Хотите сделать посильный вклад в развитие Ubuntu и русскоязычного сообщества?
Помогите нам с документацией!

Автор Тема: Как установить пароль на запуск приложения  (Прочитано 7812 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Rus_Ort

  • Автор темы
  • Любитель
  • *
  • Сообщений: 82
    • Просмотр профиля
Требуется ограничить доступ к программе таким образом, чтобы запуск приложения был возможен только после ввода пароля.

Как решить эту, кажется, не слишком сложную задачу?

Оффлайн Malamut

  • Ubuntu Member
  • Администратор
  • Старожил
  • *
  • Сообщений: 3311
  • Я добрый, честно!
    • Просмотр профиля
    • Моя страница на Launchpad
Прочитайте про sudo и всё что с ним связано, а так же про права доступа к файлам, а так же про кнопки запуска))) Алгоритм такой: разрешаем выполнение главного файла программы только руту, а запускаем программу через команду gksu <программа>, которую лепим вместо само команды во все ярлыки. Усё. Два клика мышкой))
"Носителем суверенитета и единственным источником власти в Российской Федерации является ее многонациональный народ" Конституция РФ

Оффлайн Rus_Ort

  • Автор темы
  • Любитель
  • *
  • Сообщений: 82
    • Просмотр профиля
Спасибо! Тут возникают следующие вопросы:
1) Как быть, если кто-то захочет запустить приложение через главное меню, а не через запароленную кнопку запуска? В этом случае блокировка не сработает?
2) Получается, при запуске команды с sudo мы открываем 15-минутную сессию. Значит, еще в течение некоторого времени программа остается без блокировки?
3) И как ограничить запуск программы из строки терминала?

А нет ли еще способов, чтобы не возиться с правами?
« Последнее редактирование: 18 Ноябрь 2009, 03:10:52 от Rus_Ort »

Оффлайн aliftin

  • Старожил
  • *
  • Сообщений: 1398
    • Просмотр профиля
Создать группу, пользователи которой смогут пользоваться приложением. Остальные, кто не в группе, доступ не получат. Только что то я не припомню как это сделать, Подробности поищите в поиске.

Так же почитайте http://www.linux.org.ru/wiki/en/Linux_Security_FAQ
Если мы не можем до чего то дотянуться, мы виним в этом не свой рост, не отсутствие табуретки, а свою цель.

Оффлайн Rus_Ort

  • Автор темы
  • Любитель
  • *
  • Сообщений: 82
    • Просмотр профиля
Пока ничего другого не нашел. Никаких полезных утилит  :'(

Сделал следующее:

sudo chown root /usr/bin/linuxdcpp
(владельцем программы сделал суперпользователя)

sudo o-rwx /usr/bin/linuxdcpp
(забрал все права у просто пользователей)

sudo u+rwx /usr/bin/linuxdcpp
(дал права на чтение, запись, исполнение владельцу)

Теперь программа действительно запускается только из-под рута. Ура!

Только вот доступ к файлам, созданным программой, тоже получает только рут  :idiot2:

Добавлять пользователей смысла нет. Ведь мне всего-то нужно поставить пароль на выполнение программы... Неужели по-другому никак нельзя?

Пользователь решил продолжить мысль 18 Ноябрь 2009, 12:46:33:
Оппа! Придумал!  8)

1. Создаем файл по имени close, пишем в него:
gksudo chmod a-x /usr/bin/linuxdcpp;sudo -k
(не разрешает запуск исполняемого файла, завершает сессию суперпользователя)

2. Создаем файл по имени open, пишем в него:
gksudo chmod a+x /usr/bin/linuxdcpp;sudo -k
(разрешает запуск исполняемого файла, завершает сессию суперпользователя)

3. В свойствах обоих файлов ставим галки "Разрешить выполнение файла как программы".

Далее пользуемся: щелкаем open, пользуемся программой, щелкаем close.

Дело сделано!

Уппс... Правда, есть нюанс. Эти же права легко поменять в свойствах исполняемого файла... Что бы на этот случай придумать? ???

...............................................................................................

Итак, я все-таки добил этот вопрос.

Содержимое файла close:
gksudo chown root /usr/bin/linuxdcpp;sudo chmod a-x /usr/bin/linuxdcpp;sudo -k

Содержимое файла open:
gksudo chown [my_user_name];sudo chmod a+x /usr/bin/linuxdcpp;sudo -k

Разблокируем исполняемый файл, запускаем программу, работаем, закрываем программу, блокируем файл.
 :coolsmiley:
« Последнее редактирование: 19 Ноябрь 2009, 15:32:20 от Rus_Ort »

 

Страница сгенерирована за 0.066 секунд. Запросов: 22.