1

Тема: Создание иконки на десктопе N9 с правами root

Всем привет
Я тут заварганил скриптик один для собственних нужд, создал иконку на десктопе, при нажатии открывает терминал с моим скриптом, все работает, но проблема в том что она открывает скрипт как user, а почти все команды в скрипте должны производится из под root...
Вот данные иконки:

[Desktop Entry]
Type=Application
Name=MYN9QT
Categories=System;
Exec=/usr/bin/meego-terminal -n -e sh /home/user/MyDocs/Modding/N9QuickTweak/MYN9QT
Icon=icon-l-terminal

Вопрос:
Можно ли сделать так чтобы скрипт запускался как root, а не user ? Tоесть чтобы при открытии запросил пароль например и тока потом открыл скрипт ? Что мне надо изменить/добавить в этой строке:

/usr/bin/meego-terminal -n -e sh /home/user/MyDocs/Modding/N9QuickTweak/MYN9QT

Еще вопрос..
Если я просто открываю терминал, захожу как root (devel-su), запускаю скипт и там есть только одна команда, к-я должна быть запущена из под user.. Что мне надо прописать перед ней, чтобы НЕ выходить из root, заходить и запускать скрипт по новой как user ?

cp -r /home/user/MyDocs/.wallpapers/mywall.png /home/user/.wallpapers

Спасибо...

Lausanne & Lyon de descente...
----------------
Schturman home page

Поделиться

2

Re: Создание иконки на десктопе N9 с правами root

так делать нельзя. скрипт в процессе работы должен спросить пароль от root и воспользоваться правами, если, конечно, пароль верный

3

Re: Создание иконки на десктопе N9 с правами root

Schturman пишет:

Можно ли сделать так чтобы скрипт запускался как root, а не user ?

Я правильно понял, что эта команда открывает терминал? Тогда

/usr/bin/meego-terminal -n -e devel-su -c /home/user/MyDocs/Modding/N9QuickTweak/MYN9QT
Schturman пишет:

Что мне надо прописать перед ней, чтобы НЕ выходить из root, заходить и запускать скрипт по новой как user ?

su user -c команда

Есл команда содержит пробелы и спецсимволы, то её нужно взять в кавычки.
Но в данном случае это не нужно, а нужно сменить владельца после копирования.

A mammal should be able to hunt mice, hibernate, fly, chew its cud, echolocate, invent tools, lay eggs, burrow. Speciation is for insects.

4

Re: Создание иконки на десктопе N9 с правами root

hxka пишет:
Schturman пишет:

Можно ли сделать так чтобы скрипт запускался как root, а не user ?

Я правильно понял, что эта команда открывает терминал? Тогда

/usr/bin/meego-terminal -n -e devel-su -c /home/user/MyDocs/Modding/N9QuickTweak/MYN9QT
Schturman пишет:

Что мне надо прописать перед ней, чтобы НЕ выходить из root, заходить и запускать скрипт по новой как user ?

su user -c команда

Есл команда содержит пробелы и спецсимволы, то её нужно взять в кавычки.
Но в данном случае это не нужно, а нужно сменить владельца после копирования.

Спасибо...

Первое работает ! smile Позволяет открыть мне скрипт с запросом пароля, в точности как я хотел.
Команды вроде тоже работают, еще не все проверил..
Только команда :

su user -c команда

НЕ хочет работать.. Пытался поместить команду в ковычки и без них, не работает.. Пишет:

su: can't set groups: Operation not permitted

Есть еще варианты/идеи по поводу этой команды ?

Lausanne & Lyon de descente...
----------------
Schturman home page

Поделиться

5

Re: Создание иконки на десктопе N9 с правами root

А, ну devel-su user -c команда, тогда. Не знал, что аегис и для рута запрещает su.

A mammal should be able to hunt mice, hibernate, fly, chew its cud, echolocate, invent tools, lay eggs, burrow. Speciation is for insects.

6 (10.12.2011 17:26:14 отредактировано Schturman)

Re: Создание иконки на десктопе N9 с правами root

Оооооооо, все работает !!! 
Остальные комнды позже проверю, но похоже все работает..
Огромнейшее спасибо, с меня пиво при встрече  *THUMBS UP*

П.С. Отличная ссылка в подписи "Будьте осторожны, не покупайтесь на подделки!", закину на фэйсбук  :-D

Lausanne & Lyon de descente...
----------------
Schturman home page

Поделиться

7 (12.12.2011 05:19:09 отредактировано Schturman)

Re: Создание иконки на десктопе N9 с правами root

Черт.. Я снова за помощью..

Пытаюсь прогнать эту команду в своем скрипте когда я роот:

devel-su user -c "cd /home/user/.config/tracker" && devel-su user -c "sed -i -e '/^IgnoredDirectories=/s/$/$HOME\/MyDocs\/Modding\/N9QTweak\/;/' tracker-miner-fs.cfg"

Т.е. по тому же принципу (devel-su user -c <команда>) как и та команда к-я копировала картинку (выше в этой же теме).. Но тут мне постоянно видает ошибку:

sed: bad option in substitution expression

И не знаю как с этим бороться... Пытался и без ковычек и с ковычками на 2 команды, нифига.. все таже ошибка. Пытался добавить в конце (>/dev/null 2>&1) - не выдает никаких ошибок, заканчивает работу скрипта, вроде все ок. Но как выяснилось и не делает ничего, т.е. не прописывает в трекер мою директорию...
Если же я запускаю команду просто с терминала как USER, только это:

 sed -i -e '/^IgnoredDirectories=/s/$/$HOME\/MyDocs\/Modding\/N9QTweak\/;/' tracker-miner-fs.cfg

все срабатывает, т.е. команда правильная..

Чего не хватает или что не так сделал ?

Lausanne & Lyon de descente...
----------------
Schturman home page

Поделиться

8

Re: Создание иконки на десктопе N9 с правами root

Ок, я добился нужного мне результата, но правда через жопу = посредством четырех команд...

devel-su user -c "cp /home/user/.config/tracker/tracker-miner-fs.cfg /home/user/MyDocs/Modding/N9QTweak"
sed -i -e '/^IgnoredDirectories=/s/$/$HOME\/MyDocs\/Modding\/N9QTweak\/;/' /home/user/MyDocs/Modding/N9QTweak/tracker-miner-fs.cfg
devel-su user -c "cp -r /home/user/MyDocs/Modding/N9QTweak/tracker-miner-fs.cfg /home/user/.config/tracker"
rm -f /home/user/MyDocs/Modding/N9QTweak/tracker-miner-fs.cfg

Все работает, но вопрос из прошлого сообшения остается актуальным.. Как сделать чтобы тоже самое было одной командой, т.е. что не правильно в команде из предыдушего сообщения..
Зарание спасибо...

Lausanne & Lyon de descente...
----------------
Schturman home page

Поделиться

9

Re: Создание иконки на десктопе N9 с правами root

Schturman пишет:

devel-su user -c "cd /home/user/.config/tracker"

Это вообще бессмысленно.
И запускать эту команду от юзера тоже бессмысленно. sed -i не меняет прав.

Добавлено: 12.12.2011 21:16:40

То есть просто

sed -i -e '/^IgnoredDirectories=/s/$/$HOME\/MyDocs\/Modding\/N9QTweak\/;/' /home/user/.config/tracker/tracker-miner-fs.cfg
A mammal should be able to hunt mice, hibernate, fly, chew its cud, echolocate, invent tools, lay eggs, burrow. Speciation is for insects.

Поделиться

10 (12.12.2011 21:45:19 отредактировано Schturman)

Re: Создание иконки на десктопе N9 с правами root

Да я уже понял что наплел не то что надо с заходом в директорю..
Но если я пишу эту команду так как ты написал (в чистом виде) то получаю ответ:

sed: /home/user/.config/tracker/tracker-miner-fs.cfg: Permission denied

так как должен запускать эту команду из под USER, я как ROOT...

если же пишу с devel-su user -c
и ковычками:

devel-su user -c "sed -i -e '/^IgnoredDirectories=/s/$/$HOME\/MyDocs\/Modding\/N9QTweak\/;/' /home/user/.config/tracker/tracker-miner-fs.cfg"

то получаю:

sed: bad option in substitution expression

если без ковычек, то получаю:

devel-su: invalid option -- 'i'
Usage: su [OPTIONS] [-] [USER]

Вот такие дела..  возможно в самой команде SED надо что то изменить или добавить ?

EDIT:
Пока что единственную возможность к-ю я нашел чтобы изменить этот фаил, как я описал выше.. Копирование в MyDocs -> изменение файла -> копирование обратно -> удаление из MyDocs.

Lausanne & Lyon de descente...
----------------
Schturman home page

Поделиться

11

Re: Создание иконки на десктопе N9 с правами root

Странно. Какой наглый аегис. Тогда как-то так:

devel-su user -c 'sed -i -e \'/^IgnoredDirectories=/s/$/$HOME\/MyDocs\/Modding\/N9QTweak\/;/\' /home/user/.config/tracker/tracker-miner-fs.cfg'

Не проверял.

Добавлено: 12.12.2011 22:03:28

Так:

devel-su user -c 'sed -i -e "/^IgnoredDirectories=/s/$/\$HOME\/MyDocs\/Modding\/N9QTweak\/;/" /home/user/.config/tracker/tracker-miner-fs.cfg'

Проверил.

A mammal should be able to hunt mice, hibernate, fly, chew its cud, echolocate, invent tools, lay eggs, burrow. Speciation is for insects.

12

Re: Создание иконки на десктопе N9 с правами root

hxka пишет:

devel-su user -c 'sed -i -e "/^IgnoredDirectories=/s/$/\$HOME\/MyDocs\/Modding\/N9QTweak\/;/" /home/user/.config/tracker/tracker-miner-fs.cfg'

Да, первый вариант не сработал, а второй да !  *YAHOO*
По тому же принципу я отредактировал вторую команду для стирания моей строки из трекера и теперь обе команды работают !
Еше раз огромнейшее спасибо   *HI*

Lausanne & Lyon de descente...
----------------
Schturman home page

Поделиться