Автор Тема: [Решено] Запуск скрипта через ярлык с правами суперпользователя  (Прочитано 10892 раз)

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

Оффлайн noname

Добрый день.Cделал несколько кнопок на рабочем столе для ручной регулировки  куллера,работает через gksu, запись идет в /sys/class/hwmon/hwmon1/pwm1
/sys/class/hwmon/hwmon1/pwm1_enable  командой  echo. как для пользователя организовать все это дело без ввода  пароля, уж больно лениво вводить?
Собственно  кнопка:
[Desktop Entry]
Name=70pwm
Exec=gksu /home/"user"/FAN/fanctrl_70pwm
Icon=/home/"user"/FAN/70pwm.png
Categories=GTK;GNOME;System;Filesystem;
И файл
echo "1" > /sys/class/hwmon/hwmon1/pwm1_enable
echo "70" > /sys/class/hwmon/hwmon1/pwm1
Добавлял в /etc/sudoers.d   "user" ALL=NOPASSWD:/home/"user"/FAN/fanctrl_70pwm
не помогаеть.Дело в sudo?

* тему поправил, чтобы смысл совпадал с обсуждением, qupl
« Последнее редактирование: 17 Мая 2013, 06:56:32 от qupl »
Gentoo x86_64 AMD E-350 Openbox 3.5.2
 

Оффлайн qupl

Здесь про настройку sudo. Сам скрипт работает? Если нет, то приведите его полный текст.

Оффлайн noname

да собственно это файл из двух комманд "эхо":
echo "1" > /sys/class/hwmon/hwmon1/pwm1_enable вкл ручное управление
echo "70" > /sys/class/hwmon/hwmon1/pwm1 уст значение пвм
В судо как никрутил ничего.Прописывал в /etc/sudoers cам файл тоже нето.Получается надо пользователю разрешить полностью запись в каталог /sys/,а мне надо всего несколько комманд.Спасибо за ответ.
Gentoo x86_64 AMD E-350 Openbox 3.5.2
 

Оффлайн qupl

noname, еще как минимум должна быть строка #!/bin/sh

Оффлайн noname

noname, еще как минимум должна быть строка #!/bin/sh
добавил #!/bin/sh,прописал в судоерс правило для себя юзера и правило FAN куда записал эти пять скриптов.
Заработало только из консоли через судо раньше только  от root выполнялось.
С ярлыка запускается если в файле настроек .desktop в строке комманды Exec указывать gksu,от пользователя не хочет
root ~ # cat /etc/sudoers
Spoiler: ShowHide

#
# This file MUST be edited with the 'visudo' command as root.
#
# Please consider adding local content in /etc/sudoers.d/ instead of
# directly modifying this file.
#
# See the man page for details on how to write a sudoers file.
#
Defaults   env_reset
Defaults   mail_badpass
Defaults   secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"

# Host alias specification
User_Alias      ADMIN = bublik

# User alias specification

# Cmnd alias specification
Cmnd_Alias       FAN = /home/bublik/my_scripts/FAN/fanctrl_70pwm, /home/bublik/my_scripts/FAN/fanctrl_100pwm, /home/bublik/my_scripts/FAN/fanctrl_150pwm, /home/bublik/my_scripts/FAN/fanctrl_245pwm, /home/bublik/my_scripts/FAN/fanctrl_auto

Cmnd_Alias      PKGMGMT = /usr/bin/dpkg, /usr/bin/apt-get, /usr/bin/aptitude

Cmnd_Alias      SHUTDOWN = /sbin/shutdown, /sbin/reboot, /sbin/halt

# Users listed above (ADMIN) can run FAN  package managers and reboot the system.
ADMIN ALL = FAN, PKGMGMT, SHUTDOWN


# User privilege specification
root   ALL=(ALL:ALL) ALL

# Allow members of group sudo to execute any command
%sudo   ALL=(ALL:ALL) ALL

# See sudoers(5) for more information on "#include" directives:

#includedir /etc/sudoers.d
« Последнее редактирование: 16 Мая 2013, 18:20:53 от noname »
Gentoo x86_64 AMD E-350 Openbox 3.5.2
 

Оффлайн agentgoblin

С ярлыка запускается если в файле настроек .desktop в строке комманды Exec указывать gksu,от пользователя не хочет
Всё правильно. sudo позволяет на время получить права root и выполнить запись туда, куда обычному пользователю доступ запрещён. Если вызывать команду без sudo, то она выполняется от имени обычного пользователя. Так что пробуй писать команду запуска или так (в секцию Exec=, если я правильно понял синтаксис .desktop-файлов):

Exec=sudo <имя_скрипта>
или так:

Exec=xterm -e sudo <имя_скрипта>
Во втором случае на экране может мигать окно терминала на момент выполения команды. Т.е. открывается терминал, выполняется команда, терминал закрывается. Но это на крайний случай, если первый вариант не сработает.

Сообщение объединено: 16 Мая 2013, 17:31:06
И кстати - ты же в .desktop-файле полный путь к скрипту прописываешь?

Т.е. что-то вроде:

Exec=/home/bublik/my_scripts/FAN/fanctrl_70pwm
« Последнее редактирование: 16 Мая 2013, 17:31:06 от agentgoblin »
 

Оффлайн noname

И кстати - ты же в .desktop-файле полный путь к скрипту прописываешь?
да Exec=gksu /home/bublik/my_scripts/FAN/fanctrl_70pwm
оба варианта попробывал,и там и там на полсекунды выскакивает окно и дальше ничего

Сообщение объединено: 16 Мая 2013, 17:44:19
Да наверно тут ничего не выйдет, ведь если что-то разрешаешь В sudoers,значит оно должно работать через sudo-->pswd-->cmd
« Последнее редактирование: 16 Мая 2013, 17:44:19 от noname »
Gentoo x86_64 AMD E-350 Openbox 3.5.2
 

Оффлайн agentgoblin

А ты при запуске разных скриптов после этого выскакивающего окна смотрел в /sys/class/hwmon/hwmon1/pwm1 - значения меняются?

Сообщение объединено: 16 Мая 2013, 17:50:48
nopasswd надо!!! В sudoers надо правильно сказать, чтобы без запроса пароля пускал команды!


Пример - у меня пользователи в группе plugdev могут монтировать блочные устройства (флэшки, грубо говоря) без запроса пароля:
Cmnd_Alias MOUNTS = /bin/mount /dev/sd[d-z][1-9], /bin/umount /dev/sd[d-z][1-9]
%plugdev ALL=NOPASSWD: MOUNTS

Надо аналогичным образом эту группу прописать для своего пользователя.

Сообщение объединено: 16 Мая 2013, 17:51:21
Это кусок из моего /etc/sudoers, если что.
« Последнее редактирование: 16 Мая 2013, 17:51:21 от agentgoblin »
 

Оффлайн noname

У меня в conky показывает значения вентилятора,сразу видно :)
Gentoo x86_64 AMD E-350 Openbox 3.5.2
 

Оффлайн agentgoblin

Понятно. Попробуй прописать команды для пользователя как nopasswd в sudoers.

Cmnd_Alias       FAN = /home/bublik/my_scripts/FAN/fanctrl_70pwm, /home/bublik/my_scripts/FAN/fanctrl_100pwm, /home/bublik/my_scripts/FAN/fanctrl_150pwm, /home/bublik/my_scripts/FAN/fanctrl_245pwm, /home/bublik/my_scripts/FAN/fanctrl_auto

ADMIN ALL=NOPASSWD: FAN, PASSWD: PKGMGMT, SHUTDOWN

Я так понимаю - ADMIN (именно большими буквами) - это имя твоего пользователя?
 

Оффлайн noname

Я так понимаю - ADMIN (именно большими буквами) - это имя твоего пользователя?
Нее ADMIN это User_Alias :) имя bublik

Сообщение объединено: 16 Мая 2013, 18:21:49
тоже не вышло также терминал могнет и все
« Последнее редактирование: 16 Мая 2013, 18:21:49 от noname »
Gentoo x86_64 AMD E-350 Openbox 3.5.2
 

Оффлайн agentgoblin

Он хоть в консоли теперь работает без запроса пароля?
 

Оффлайн noname

Он хоть в консоли теперь работает без запроса пароля?
нет не работает так, пермишин денид.Делал по ссылке qupl которая выше, я определенно делаю что-то нетак.
Gentoo x86_64 AMD E-350 Openbox 3.5.2
 

Оффлайн qupl

noname,  по шагам 1) от рута скрипт работает? 2) в терминале через sudo работает?

Оффлайн noname

noname,  по шагам 1) от рута скрипт работает? 2) в терминале через sudo работает?
1.да
2.да
Gentoo x86_64 AMD E-350 Openbox 3.5.2
 

Теги:
     

    [РЕШЕНО] Продолжить работу после запуска nohup

    Автор Kolyunya

    Ответов: 3
    Просмотров: 2031
    Последний ответ 17 Июня 2015, 21:48:23
    от Utility
    Не могу залогиниться в Skype [РЕШЕНО]

    Автор AVD

    Ответов: 5
    Просмотров: 744
    Последний ответ 08 Июня 2021, 07:06:04
    от dzhoser
    [Решено] Экран логина в wheezy

    Автор noaer

    Ответов: 3
    Просмотров: 1759
    Последний ответ 27 Мая 2013, 22:30:23
    от ogost
    [Решено] проблема с удалением RAID с помощью mdadm

    Автор o_key

    Ответов: 9
    Просмотров: 5720
    Последний ответ 07 Октября 2013, 16:12:17
    от o_key
    [Решено] Не запускается xmind

    Автор hameleonds

    Ответов: 23
    Просмотров: 8135
    Последний ответ 28 Февраля 2014, 21:22:15
    от hameleonds