как работает sudo?

Простые/общие вопросы по UNIX системам. Спросите здесь, если вы новичок

Модераторы: vadim64, terminus

Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Аватара пользователя
denis-k
мл. сержант
Сообщения: 136
Зарегистрирован: 2009-10-30 23:40:19
Откуда: Ростов-на-Дону
Контактная информация:

как работает sudo?

Непрочитанное сообщение denis-k » 2011-01-14 0:12:13

набираю команду:

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

%sudo pkg_version -v | grep "<" > /root/obnovlenie

думаю, что сейчас запросит пароль и я пойду пить чай, но она выдает следующее:

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

/root/obnovlenie: Недостаточно привилегий.
Password:
Что я делаю не так? Разве она не должна сначала спросить пароль, а потом уже проверять привилегии?

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Аватара пользователя
unix-admin
ст. сержант
Сообщения: 324
Зарегистрирован: 2010-11-26 12:43:04
Откуда: Cornucopia

Re: как работает sudo?

Непрочитанное сообщение unix-admin » 2011-01-14 0:21:54

Из man sudo:

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

       sudo, sudoedit - execute a command as another user
Вы запускаете команду pkg_version в окружении sudo, но это не дает вам прав на создание файла в директории /root.
Вот так будет работать:

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

sudo pkg_version -v | grep -v = > ~/obnovlenie
p.s.: Так вы еще и увидите "BROKEN, FORBIDDEN, or IGNORE" порты.

Аватара пользователя
denis-k
мл. сержант
Сообщения: 136
Зарегистрирован: 2009-10-30 23:40:19
Откуда: Ростов-на-Дону
Контактная информация:

Re: как работает sudo?

Непрочитанное сообщение denis-k » 2011-01-14 0:26:15

unix-admin, но файл существует, та же команда:

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

%sudo touch /root/primer
проходит на ура

Аватара пользователя
hizel
дядя поня
Сообщения: 9032
Зарегистрирован: 2007-06-29 10:05:02
Откуда: Выборг

Re: как работает sudo?

Непрочитанное сообщение hizel » 2011-01-14 0:32:20

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

sudo sh -c 'pkg_version -v | grep "<" > /root/obnovlenie'
В дурацкие игры он не играет. Он просто жуткий, чу-чу, паровозик, и зовут его Блейн. Блейн --- это Боль.

Аватара пользователя
denis-k
мл. сержант
Сообщения: 136
Зарегистрирован: 2009-10-30 23:40:19
Откуда: Ростов-на-Дону
Контактная информация:

Re: как работает sudo?

Непрочитанное сообщение denis-k » 2011-01-14 0:38:41

hizel, вроде пошло :) а в чем трабла то? в sudo нельзя писать длинные команды (конвейеры, перенаправления)?

Аватара пользователя
hizel
дядя поня
Сообщения: 9032
Зарегистрирован: 2007-06-29 10:05:02
Откуда: Выборг

Re: как работает sudo?

Непрочитанное сообщение hizel » 2011-01-14 0:40:58

В дурацкие игры он не играет. Он просто жуткий, чу-чу, паровозик, и зовут его Блейн. Блейн --- это Боль.

Аватара пользователя
unix-admin
ст. сержант
Сообщения: 324
Зарегистрирован: 2010-11-26 12:43:04
Откуда: Cornucopia

Re: как работает sudo?

Непрочитанное сообщение unix-admin » 2011-01-14 0:47:20

denis-k писал(а):hizel, вроде пошло :) а в чем трабла то? в sudo нельзя писать длинные команды (конвейеры, перенаправления)?
Найдите разницу :) Ключевая фраза:

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

execute a command as another user

Аватара пользователя
FreeBSP
майор
Сообщения: 2020
Зарегистрирован: 2009-05-24 20:20:19
Откуда: Москва

Re: как работает sudo?

Непрочитанное сообщение FreeBSP » 2011-01-14 1:52:40

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

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

sudo 'cmd | cmd2 > file1' 
тоже должно работать по идее
Человек начинает получать первые наслаждения от знакомства с unix системами. Ему нужно помочь - дальше он сможет получать наслаждение самостоятельно ©
Ламер — не желающий самостоятельно разбираться. Не путать с новичком: ламер опасен и знает это!

Аватара пользователя
denis-k
мл. сержант
Сообщения: 136
Зарегистрирован: 2009-10-30 23:40:19
Откуда: Ростов-на-Дону
Контактная информация:

Re: как работает sudo?

Непрочитанное сообщение denis-k » 2011-01-14 3:18:31

Гы:
Критика

Программу критикуют, в частности, за невозможность выполнять некоторые команды. К примеру:

sudo cat sources.list > /etc/apt/sources.list

выдаст ошибку прав доступа (так как с правами root выполняется только процесс cat, а перенаправление выполняет shell с правами обычного пользователя), хотя такое можно сделать, использовав конвейер:

cat sources.list | sudo tee /etc/apt/sources.list

также ничто не мешает выполнить шелл с административными правами, а строку к выполнению взять в кавычки, используя параметр шелла «-с»:

sudo sh -c 'cat sources.list > /etc/apt/sources.list'

или же попасть в шелл интерактивно аналогично работе su, используя параметр -s

sudo -s

или выполнив

sudo sh
Всем спасибо :-D