Решено "Права Root и проблемы с ними" (Как обойти.)

Для новичков как вообще в Linux, так и в конкретной теме, к которой относится вопрос.

Модератор: Bizdelnick

Nordmolch
Сообщения: 5

Решено "Права Root и проблемы с ними"

Сообщение Nordmolch »

Доброго времени суток! Столкнулся со следующей проблемой, не знаю, как решить:

Ubuntu 6.10, ядро 2.6.17-11

Написал совсем простенький скрипт (выключение компьютера)

Код: Выделить всё

#! /bin/bash
halt
exit


Поместил его в /usr/local/bin, дал права chmod +rwx scriptname
Из терминала sudo -i, получаю права root, пишу название скрипта + enter - всё замечательно работает.
Но, если пробовать запустить скрипт без прав root, то выдаёт вполне закономерное "halt: Need to be root"

Естественно, начинаю думать, что никак нельзя без root прав запускать этот скрипт, но потом вспоминаю, что есть панельная программа quit (на верхней панели), которая может выключить компьютер без всяких паролей и прочего.

Нашёл в /usr/share/doc/sudo/examples файл sudoers, добавил:

Код: Выделить всё

nord ALL=NOPASSWD: /usr/local/bin/script

nord ALL=NOPASSWD: /usr/lib/klibc/bin/halt

nord ALL=NOPASSWD: /etc/init.d/halt

Думал, что проблема решена, но нет. Скрипт без прав root работать не желает. Всё тот же "halt: Need to be root" из командной строки или просит ввести пароль, если из GNOME дважды щёлкаем на линк к скрипту.

Читал abs-guide - не нашёл решения проблемы, в сети вроде как тоже ничего путного не нашёл.

Собственно, что хотел спросить!

1. Возможно ли в принципе осуществить желаемое? (запуск из графической среды подобного рода скрипт без прав root)
2. Если да, то что я неправильно делаю? Где найти ответ на вопрос?
3. Невнимательно читал? (Что именно)
Спасибо сказали:
Аватара пользователя
Juliette
Сообщения: 5058
Статус: ROSA Lab
ОС: Ubuntu LTS, Mandriva 2011

Re: Решено "Права Root и проблемы с ними"

Сообщение Juliette »

Повесьте на кнопочку 'sudo poweroff' (сделайте тока юзерам sudo без пароля)
Спасибо сказали:
Аватара пользователя
Delirious Stranger
Сообщения: 340
Статус: кофейник
ОС: Funtoo + Calculate

Re: Решено "Права Root и проблемы с ними"

Сообщение Delirious Stranger »

сделать для нужных комманд sudo без пароля и потом в ~/.bashrc юзера прописать алиасы например

Код: Выделить всё

alias halt='sudo halt'
Если счастье когда-нибудь не оставит тебя - оно к тебе больше никогда не придет. © О. Радус
Спасибо сказали:
Nordmolch
Сообщения: 5

Re: Решено "Права Root и проблемы с ними"

Сообщение Nordmolch »

Кхм... Вот как раз не очень понятно, каким образом настроить для определённого юзера sudo без пароля. Все мануалы и советы на форумах сводятся к тому, что надо поменять файл /etc/sudoers таким образом, чтобы юзер мог использовать... бла бла бла...

Простите, но что ещё надо (о каких паролях идёт речь?!) , если я сделал так:

Код: Выделить всё

nord    ALL=(ALL) ALL


И после этого, из под юзера nord всё равно не получается запустить хотя бы тот же halt или shutdown.
Пожалуйста, если не сложно дайте более точное значение, которое надо записать в sudoers или же какие-то инструкции. Возможно, ответ под самым носом, но за месяц (именно столько я не могу решить данную проблему) глаз замылился окончательно.
Спасибо сказали:
Аватара пользователя
romuil
Сообщения: 2095
Статус: Ромунцель
ОС: ALTLinux Sisyphus

Re: Решено "Права Root и проблемы с ними"

Сообщение romuil »

Код: Выделить всё

nord ALL=(ALL)   NOPASSWD:ALL

Только это небезопасно!
Спасибо сказали:
Аватара пользователя
Jan2ary
Бывший модератор
Сообщения: 630
Статус: Тщедушный очкарик

Re: Решено "Права Root и проблемы с ними"

Сообщение Jan2ary »

Запускать не halt, а sudo halt.
Не шалю, никого не трогаю, починяю примус...
Спасибо сказали:
Nordmolch
Сообщения: 5

Re: Решено "Права Root и проблемы с ними"

Сообщение Nordmolch »

Запускать не halt, а sudo halt.


Это понятно. Дело в том, что всё равно, даже при

Код: Выделить всё

nord ALL=(ALL) NOPASSWD:ALL

просит ввести пароль. Единственное улучшение - не просит вводить пароль, если хоть раз в этой сессии уже был введён пароль (в командной строке). Хотя, я не уверен, что это из-за правки в файле sudoers, а потому что 15 минут после ввода пароля, можно спокойно и так работать.

Короче, проблема не решена. Есть какие-то действенные советы? То есть, реально работающие не в принципе и в мануале, а на самом деле под Linux Ubuntu.
Спасибо сказали:
Аватара пользователя
romuil
Сообщения: 2095
Статус: Ромунцель
ОС: ALTLinux Sisyphus

Re: Решено "Права Root и проблемы с ними"

Сообщение romuil »

Nordmolch, спокойствие только спокойствие.
Файл /etc/sudoers не терпит копипастов и прочих непотребств.
Все надо вписывать руками и через visudo.
Linux Ubuntu не является исключением, и чтение мануала никто не отменил.
У меня ведь все работает.
Спасибо сказали:
Nordmolch
Сообщения: 5

Re: Решено "Права Root и проблемы с ними"

Сообщение Nordmolch »

=) Примерно такого ответа я и ожидал. Да, я открывал sudoers с помощью

nord@nord-desk

$ sudo visudo

Содержимое /etc/sudoers

nord@nord-desk

# /etc/sudoers # # This file MUST be edited with the 'visudo' command as root. # # See the man page for details on how to write a sudoers file. # Host alias specification # User alias specification # Cmnd alias specification # Defaults Defaults !lecture,tty_tickets,!fqdn # User privilege specification root ALL=(ALL) ALL nord ALL=(ALL) NOPASSWD:ALL # Members of the admin group may gain root privileges %admin ALL=(ALL) ALL


Жму CTRL+x, Y, Enter

Теперь могу из любого (вновь запущенного или того же) окна терминала писать sudo xxx и ххх выполняется, только вот проблема в том, что после ребута захожу под тем же самым юзером nord, запускаю терминал и вот теперь при команде sudo ххх меня вежливо просят ввести пароль.

Чтение манула по какому запросу? man sudo зачитано до дыр.
Спасибо сказали:
Аватара пользователя
romuil
Сообщения: 2095
Статус: Ромунцель
ОС: ALTLinux Sisyphus

Re: Решено "Права Root и проблемы с ними"

Сообщение romuil »

Ещё есть man sudoers ;)
У меня в Alt Linux все нормально.
Вообще похоже что в Ubuntu что-то специальное придумали.
Наверно лучше спросить на русском форуме самой Ubuntu.
Спасибо сказали:
Nordmolch
Сообщения: 5

Re: Решено "Права Root и проблемы с ними"

Сообщение Nordmolch »

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

Код: Выделить всё

Defaults:username !authenticate

Что отменит процесс идентификации (ввода пароля) для пользователя username

Осталось только сообразить, как разрешить выполнять не всё, а только некоторые команды, но это уже нюансы.
Спасибо сказали: