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


За новостями русскоязычного сообщества и Ubuntu в целом можно следить на нашей страничке в Google+

Автор Тема: Запуск скрипта из gvim без ввода пароля  (Прочитано 794 раз)

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

Оффлайн Ridzhi

  • Автор темы
  • Новичок
  • *
  • Сообщений: 11
    • Просмотр профиля
Учу Си, в gvim открыт hello.c, рядышком лежит run.sh чтобы быстро смотреть результаты
#!/usr/bin/env bash
dir=~/Yandex.Disk/KR/
cc ${dir}hello.c
sudo chmod +x ${dir}a.out
${dir}a.out
Если запускать в терминале, то юзерпас вводится единожды, далее запускается по интеру. Если запускать в gvim, то
:!run.sh всегда требует пароль. Друзья какие есть варианты, чтобы запускать без постоянного ввода пароля ?

Оффлайн Heider

  • Старожил
  • *
  • Сообщений: 1037
    • Просмотр профиля
Re: Запуск скрипта из gvim без ввода пароля
« Ответ #1 : 09 Май 2016, 21:42:05 »
ls -l run.sh ?

Оффлайн Ridzhi

  • Автор темы
  • Новичок
  • *
  • Сообщений: 11
    • Просмотр профиля
Re: Запуск скрипта из gvim без ввода пароля
« Ответ #2 : 09 Май 2016, 22:09:37 »
ls -l run.sh ?
-rw-rw-r-- 1 ridzhi ridzhi 97 мая    6 19:28 run.sh

UPD. Я сделал chmod +x на run.sh, но это дело не меняет, по прежнему каждый раз запрашивает пароль
« Последнее редактирование: 09 Май 2016, 22:16:30 от Ridzhi »

Оффлайн Master_Sergius

  • Активист
  • *
  • Сообщений: 519
  • i3
    • Просмотр профиля
Re: Запуск скрипта из gvim без ввода пароля
« Ответ #3 : 09 Май 2016, 23:57:41 »
Осмелюсь предположить, что через некоторое время у Вас и терминал спросит пароль опять. Суть в том, что он на некоторое время "запоминает сессию sudo", а gvim - он по сути каждый раз в новом шелле запускает. Поэтому, такое поведение обычно и, не исправимо (разве что запустить gvim через судо может решить, но не думаю, что это хорошо)
Мой блог о семействе *nix: http://nixtravelling.blogspot.com/

Оффлайн peregrine

  • FSM
  • СуперМодератор
  • Старожил
  • *
  • Сообщений: 7083
  • Gentoo x64 Ubuntu 16.04.1 x64
    • Просмотр профиля
Re: Запуск скрипта из gvim без ввода пароля
« Ответ #4 : 10 Май 2016, 00:45:51 »
Ridzhi, зачем от рута свою прогу запускать? Это только если с чем-то особенным занимаешься надо, я бы вообще в таком случае всё от рута делал, хоть и нехорошо это, поэтому на виртуалке. Обычно на этапе обучения достаточно программу от пользователя запускать.

Оффлайн Ridzhi

  • Автор темы
  • Новичок
  • *
  • Сообщений: 11
    • Просмотр профиля
Re: Запуск скрипта из gvim без ввода пароля
« Ответ #5 : 10 Май 2016, 01:08:01 »
Ridzhi, зачем от рута свою прогу запускать? Это только если с чем-то особенным занимаешься надо, я бы вообще в таком случае всё от рута делал, хоть и нехорошо это, поэтому на виртуалке. Обычно на этапе обучения достаточно программу от пользователя запускать.
Я не совсем понимаю о чем вы, я ничего намерено от рута не запускаю. Поясните пжлста.

Оффлайн peregrine

  • FSM
  • СуперМодератор
  • Старожил
  • *
  • Сообщений: 7083
  • Gentoo x64 Ubuntu 16.04.1 x64
    • Просмотр профиля
Re: Запуск скрипта из gvim без ввода пароля
« Ответ #6 : 10 Май 2016, 01:09:06 »
Ridzhi, зачем делать:
sudo chmod +x ${dir}a.outможно просто
chmod +x ${dir}a.out

Оффлайн Ridzhi

  • Автор темы
  • Новичок
  • *
  • Сообщений: 11
    • Просмотр профиля
Re: Запуск скрипта из gvim без ввода пароля
« Ответ #7 : 10 Май 2016, 01:16:16 »
Ridzhi, зачем делать:
sudo chmod +x ${dir}a.outможно просто
chmod +x ${dir}a.out
Спасибо друг, у меня было два заблуждения:
1. Я думал что chmod может использовать только босс
2. Я думал что пароль он запрашивает потому что .sh файлы могут запускать только боссы
Затупил знатно, спасибо еще раз. Осталось только забиндить запуск на кей

Оффлайн victor00000

  • Старожил
  • *
  • Сообщений: 14922
  • Я не слышу.
    • Просмотр профиля
~.o

Оффлайн Ridzhi

  • Автор темы
  • Новичок
  • *
  • Сообщений: 11
    • Просмотр профиля
Re: Запуск скрипта из gvim без ввода пароля
« Ответ #9 : 10 Май 2016, 01:32:57 »
https://forum.ubuntu.ru/index.php?topic=273590.msg2157605#msg2157605
Спасибо, тоже занятно
user ALL=(ALL) NOPASSWD:/usr/bin/script.shALL=(ALL) как трактуется ?

Оффлайн victor00000

  • Старожил
  • *
  • Сообщений: 14922
  • Я не слышу.
    • Просмотр профиля
Re: Запуск скрипта из gvim без ввода пароля
« Ответ #10 : 10 Май 2016, 01:39:09 »
Ridzhi,
sudo cat /etc/sudoersне знаю.



~.o

Оффлайн aSmile

  • Активист
  • *
  • Сообщений: 716
    • Просмотр профиля
Re: Запуск скрипта из gvim без ввода пароля
« Ответ #11 : 10 Май 2016, 07:47:50 »
ALL=(ALL) как трактуется ?

Стоит почитать man sudoers там сказано, что первый ALL - разрешенные/запрещенные хосты, второй (ALL) от имени кого можно/нельзя запускать команду

P.S. а зачем вообще делать chmod +x ${dir}a.out? Он же вроде бы сразу создается исполняемым.

Оффлайн Ridzhi

  • Автор темы
  • Новичок
  • *
  • Сообщений: 11
    • Просмотр профиля
Re: Запуск скрипта из gvim без ввода пароля
« Ответ #12 : 10 Май 2016, 08:47:35 »
ALL=(ALL) как трактуется ?

Стоит почитать man sudoers там сказано, что первый ALL - разрешенные/запрещенные хосты, второй (ALL) от имени кого можно/нельзя запускать команду

P.S. а зачем вообще делать chmod +x ${dir}a.out? Он же вроде бы сразу создается исполняемым.
Да, вы правы, спасибо. Сделал так
#!/usr/bin/env bash
cd ~/Yandex.Disk/KR/
cc hello.c
./a.out
Я баш и Си изучаю одновременно )

Оффлайн peregrine

  • FSM
  • СуперМодератор
  • Старожил
  • *
  • Сообщений: 7083
  • Gentoo x64 Ubuntu 16.04.1 x64
    • Просмотр профиля
Re: Запуск скрипта из gvim без ввода пароля
« Ответ #13 : 10 Май 2016, 11:28:13 »
Ridzhi, и да, если ты компилируешь при помощи gcc/clang/практически любой другой компилятор то он сам делает файл исполняемым. Кстати, cc лучше поменять на gcc или clang в зависимости от предпочтений. Я рекомендую пользоваться clang-ом, поскольку он выдаёт более подробные сообщения об ошибках. Для сборки программы лучше не bash использовать, а систему сборки, в простейшем случае написать самому make файл, чуть посложнее, но более правильно использовать autotools. Ещё правильнее использовать cmake.
« Последнее редактирование: 10 Май 2016, 11:32:27 от peregrine »

Оффлайн Ridzhi

  • Автор темы
  • Новичок
  • *
  • Сообщений: 11
    • Просмотр профиля
Re: Запуск скрипта из gvim без ввода пароля
« Ответ #14 : 10 Май 2016, 12:51:44 »
Ridzhi, и да, если ты компилируешь при помощи gcc/clang/практически любой другой компилятор то он сам делает файл исполняемым. Кстати, cc лучше поменять на gcc или clang в зависимости от предпочтений. Я рекомендую пользоваться clang-ом, поскольку он выдаёт более подробные сообщения об ошибках. Для сборки программы лучше не bash использовать, а систему сборки, в простейшем случае написать самому make файл, чуть посложнее, но более правильно использовать autotools. Ещё правильнее использовать cmake.
Спасибо, cc это не осознанный выбор, просто он указан в книге Кернигана и Ричи. C cmake разберусь обязательно.

 

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