Уголок новичка
   414

Есть ли возможность переместить файл из Home в Root c помощью скрипта?

На manjaro третий день, система понравилась. Посвятил сегодня весь день экспериментам с sudoers и sudoers.d. Поставил себе задачу менять картинку в груб при каждой перезагрузке. В убунте с этим проще в том плане что при загрузке груб`а хоум сразу монтируется и картинка берется по прописанному пути. В manjaro ладно груб отличается (заморочки с несколькими системами на диске), но и home сразу не монтируется. с рута все нормально меняется. Но надо скопировать файл при старте сессии, и надо подтверждать пароль, а нужно без пароля. Химичил с sudoers — добился что все от моего имени было без пароля, потом вообще не смог вводить пароль (хорошо su спасает), в итоге прописал на All по типу рут от своего имени и появился пароль(то же не очень понятен механизм и где реальные данные можно просмотреть), изначально ведь ничего кроме рут там не разблокировано.
Прошу вашей помощи разобратся с этим делом. Сразу скажу что хоть я и сижу лет 6 на убунте, но пользуюсь в основном системой и не так часто копаюсь в структуре, так что во многом могу быть не компетентен.

31 комментарий

avatar
Cron.
Последний раз редактировалось
0
avatar
Мне нужно по событию а не по времени, хотя я только бегло просмотрел статью. Просто нужно реализовать запуск конкретного скрипта с рута без ввода пароля. Примеры были в нете, но ни чего получилось, может надо путь на папку прописывать а не на скрипт?
0
avatar
В cron есть прекрасная переменная @reboot. И, да, там можно указать пользователя от имени которого будет запускаться скрипт.
Последний раз редактировалось
0
avatar
скрипт делает операции с системным разделом, я конечно с кроном еще не ознакомился, но мне кажется системные привелегии возьмут свое, у меня больше вопрос как конкретному скрипту выполнится без запроса пароля
0
avatar
скрипт делает операции с системным разделом
И что? Будучи запущен от рута он может писать куда ему вздумается.
Если так уж не нравится вариант с cron, можете юнит для системды написать.
у меня больше вопрос как конкретному скрипту выполнится без запроса пароля
Зачем городить огород с повышением привилегий вместо выполнения от пользователя, обладающего необходимыми правами изначально?
 
Теперь проясним ситуацию по sudo и безпарольному запуску. Добавление в /etc/suders строки с неким скриптом и опцией NOPASSWOD избавит Вас от необходимости вводить пароль. На необходимость же вводить sudo это не влияет никак — система не занимается вангованием необходимости поднятия привилегий.
Последний раз редактировалось
0
avatar
cp -R /home/имя файла /root/имя файла
0
avatar
пароль запрашивает
0
avatar
Использовать в скрипте конструкцию типа echo пароль | sudo -S команда, а чтоб не светить пароль- конвертировать скрипт с помощью shc, например. Изврат, конечно…
Последний раз редактировалось
?
Правильные ответы начинаются с правильных вопросов.
0
avatar
что то подобное я просматривал, надо попробовать (комп домашний, пароль пробел), можно было бы остановиться на стадии без пароля, но хочу поддерживать структуру защиты, завтра ваш совет попробую.
0
avatar
Может я не совсем понял что Вы хотите, но мне кажется, что Вы можете делать эти действия не при загрузке системы, а перед выключением системы.
0
avatar
Ни как не во время загрузки, в автостарте там три события которые уже относятся к послезагрузочному состоянию (начало, перед запуском и завершение сеанса), мне главное из рут отдела выполнить скрипт, который запрашивает пароль, но все должно быть на автомате без ввода пароля.
Нутром чувствую что все в этих sudoers и sudoers.d, но уже сегодня несколько раз пришлось подымать систему, и то я уже не уверен что все на своих местах.
Последний раз редактировалось
0
avatar
Скину просто так вдруг поможет: Ссылка
0
avatar
Спасибо, то же думал на счет отдельной группы, но видел примеры(не работающие у меня) где конкретно указывался путь к скрипту и так же еще видел и не проверил путь к папке со скриптом с заданными привилегиями. Просто думаю что по не знанию не правильно все прописываю. Как бы есть такая возможность которую показывают? — сделать скрипт или папку в которую заходишь через sudo и не вводишь пароль, так как относительно их уже прописаны правила.
0
avatar
Для работы «по событию» есть такая прикольная штука как incron
Последний раз редактировалось
?
Правильные ответы начинаются с правильных вопросов.
0
avatar
Посмотрю, отпишусь) вроде интересно звучит)
0
avatar
Там указаны события в основном завязаные на операциях с файлами, можно конечно косвенно это сделать — повесить событие на изменение какого ни будь файла после загрузки системы. Все это может сработать, но опять же демон будет постоянно отслеживать состояние и т.д. Хотелось бы просто правильно раздать права на выполнение, тем более что системой это предусмотрено, но ошибки при экспериментах могут привести к переустановке. Чем мне понравилась manjaro что во время установки прописывал пароль на рут. Так что любые падения с sudo можно поправить через su, главное знать что править — в этом основной вопрос топика.
0
avatar
Ну да, «всё есть файл». При старте сессии добавляем в текстарь единицу (или строку с временем и датой), заодно получаем еще и счетчик сеансов. Демон будет отслеживать изменения в этом файле, и пусть себе отслеживает. Тот же демон в дальнейшем сможет работать и на другие задачи, более важные и хитрые чем смена обоины в грабе. Вообще-то crond уже работает и много хлеба не просит. Вы вполне можете сделать смену обоины на cron, но всё-же это именно шедулер. А incron заточен специально на обработку событий, и тоже систему сильно не нагрузит. Ну будет у Вас еще один инструмент, это же только в плюс.
Последний раз редактировалось
?
Правильные ответы начинаются с правильных вопросов.
0
avatar
У меня пока нет таких глобальных задач, мне понравилась отзывчивость системы, хотя убунта после установки то же летает. Люблю кастомизацию ориентированую на внешний вид, поставил все что мне нужно было(viber,skype,pidgin,remmina,teamwiever,eclipse) — это плюс. Просто хочеться наглядный рабочий пример — как с помощью NOPASSWD выполнять скрипты затрагивающие систему. А смена картинки — это самое простое копирование, но оно как раз затрагивет неизвестные мне конфигурации доступа.
0
avatar
Ну Вы ж вроде не чайник, значит как минимум прочли в арчвики про root, sudo и группу wheel. Заглядывали и в каталог /etc/sudoers.d, видимо.
Давайте конкретнее.
Что именно не получается достичь?
Что именно и где хотите настроить?
Что именно осталось непонятно по итогам проб?
?
Правильные ответы начинаются с правильных вопросов.
0
avatar
В этом полный чайник, так как первый раз столкнулся с этим. Перелапатил кучу инфы, даже видео, но ничего кроме полного доступа и краха судо не получил. Интересует конкретно взаимосвязь sudoers и содержимого sudoers.d. Мне бы интересно было бы конкретно на рабочем примере разобраться, а так как писал выше — попадал в разные ситуации. Чтоб вернуть судо в работу пришлось прописать
alex ALL=(ALL) ALL. %wheel ALL=(ALL) NOPASSWD: ALL — полностью дала свободу, но alex ALL=(ALL) NOPASSWD: /usr/bin/script.sh — ни чего не дало, хотя во многих примерах указывался такой подход. Честно много всего перепробовал, устал перегружаться, всего и не вспомню. У кого ни будь получается запустить скрипт без ввода пароля который на выполнение требует пароль?
0
avatar
А, ну тогда читайте арчвики, там об этом всём подробно написано. Не нужно менять строки в конфигах наугад- это мало что даёт для понимания сути происходящего.
А насчет скрипта- ну например я сам пользуюсь вот таким:

#!/bin/sh
echo ***здесь_пароль*** | sudo -S mount /dev/sdd2

для монтирования раздела со старой виндой, прописаного в fstab с ключом noauto. Постоянно примонтированным он мне не нужен, использую его как чулан для хлама, поэтому так.
На конкретику сейчас отвечу…
Последний раз редактировалось
?
Правильные ответы начинаются с правильных вопросов.
0
avatar
конкретно взаимосвязь sudoers и содержимого sudoers.d
Вместо того чтобы редактировать /etc/sudoers, вы можете менять настройки в отдельных файлах и перемещать их в директорию sudoers.d. Подробнее в арчвики.
?
Правильные ответы начинаются с правильных вопросов.
0
avatar
конкретно на рабочем примере разобраться
Как раз в арчвики куча примеров. А еще в /usr/share/doc/sudo/examples/sudoers
?
Правильные ответы начинаются с правильных вопросов.
0
avatar
Чтоб вернуть судо в работу пришлось прописать
alex ALL=(ALL) ALL
О боже, еще один alex… Давно замечено что пользователи с таким логином обречены на проблемы. :)))
?
Правильные ответы начинаются с правильных вопросов.
0
avatar
Приму к сведению. Я говорил что лучше по живым примерам разбираюсь, курю маны только когда необходимо дополнительно что то узнать — здесь просто такая ситуация, что все пробы могут обернуться переустановкой или вы думаете что прогер сядет и сразу напишет прогу которую пропустит компилятор. Спасибо за ссылки, еще раз внимательней просмотрю, не думал что мой вопрос станет проблемой. У аlexa — кажись подобный вопрос был, но это не то что мне нужно alexy:)
0
avatar
Ради эксперимента уделите немного времени — сделайте скрипт с запросом судо без ввода пароля, используя только sudoers. Буду очень признателен, ибо диалог больше времени отнимает.
0
avatar
Зря Вы доки не читаете. «Они довольно часто сеют разумное-доброе-вечное»©
Например, там написано что последнее правило в sudoers преобладает над предшествующими. И последними читаются правила из /etc/sudoers.d
А там лежит файл 10-installer, в котором и можно дописать в нужных Вам строках NOPASSWD: ALL
Тогда любые скрипты с запросом судо будут работать без ввода пароля.
Или можно составить правило хитрее, чтобы без пароля запускался только конкретный скрипт. Но про этот вариант уж Вы сами в манах прочтите, ОК?
?
Правильные ответы начинаются с правильных вопросов.
0
avatar
OK)). Выберу время и еще раз вдумчиво прочту, как парсинг действует имею предсавление, так что не удевительно что при наборе одинаковых ключей — последний залазит. К слову ни кто конкретно не озадачивался этим за не надобностью, по этому посылки на ссылки и т.п., эксперимент просто может сложить систему и сколько мануалов не читай. Было бы просто, был бы один ответ.
0
avatar
Для опасных экспериментов существует виртуалбокс.
?
Правильные ответы начинаются с правильных вопросов.
0
avatar
Поддерживаю, просто не думал что простое желание приведет к таким экспериментам. Отпуск закончился, буду решать это в свободное время, для юзанья все это не критически — просто люблю кастомизацию.
0
avatar
Будет время надо будет путь прописать к папке а не к файлу, может получится.
0
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.