$ su -c 'fdisk -l /dev/sdb' не работает в Mageia

Для новичков как вообще в Linux, так и в конкретной теме, к которой относится вопрос.

Модератор: Bizdelnick

Аватара пользователя
algri14
Сообщения: 1369
ОС: Mageia 5.1 & 8 x86_64, KDE

$ su -c 'fdisk -l /dev/sdb' не работает в Mageia

Сообщение algri14 »

Здравствуйте!
Заглянул на страницу Получение прав администратора. Команда su , увидел совет:
Например, нелепо открывать внутренний сеанс суперпользователя для того, чтобы только посмотреть текущую разметку диска командой вроде fdisk -l. Что же, команда su предоставляет нам и такую возможность — посредством опции -c (или —command=), значениями которой будет выступать требуемая команда вместе со всеми необходимыми опциями и аргументами. Например:

$ su -c 'fdisk -l /dev/sdb'
или
$ su --command='fdisk -l /dev/sdb'
Да, разумно, но ОС Mageia-7 (KDE-Plasma) в ответ показала фигвам:

Shell

[algri@localhost ~]$ su -c 'fdisk -l /dev/sdb'
Пароль:
bash: fdisk: команда не найдена
Дело конечно не в ОС, а в настройках shell, поясните пожалуйста, ибо найти этот нюанс поисковиком совсем непросто (выдаёт кучу ненужного)
Спасибо сказали:
Аватара пользователя
yoricI
Сообщения: 2806
ОС: gentoo fluxbox

Re: $ su -c 'fdisk -l /dev/sdb' не работает в Mageia

Сообщение yoricI »

В последнее время об этом тут несколько раз вроде трындели, сделайте su - etc
Спасибо сказали:
Аватара пользователя
algri14
Сообщения: 1369
ОС: Mageia 5.1 & 8 x86_64, KDE

Re: $ su -c 'fdisk -l /dev/sdb' не работает в Mageia

Сообщение algri14 »

yoricI писал:
15.12.2019 20:59
об этом тут несколько раз вроде трындели,
Бываю здесь частенько, но не видел
yoricI писал:
15.12.2019 20:59
сделайте su - etc
А конкретнее, звучит как на деревню дедушке, и потом я хочу знать почему, нюанс

Дополнено:
немного почитал про su & sudo и мне кажется, что новая (по сравнению с su) команда sudo хоть и длиннее :D (аж на целых две буквы), но более правильная и безопасная (не будем говорить про кривые руки).
Даже не знаю почему её не берут за основу по умолчанию все дистрибутивы, в том числе разработчики Mageia, хотя есть настройка и пакет для команды sudo
...и ещё почитал местную старинную тему su vs. sudo - целая война и мир на 3-х страницах
Спасибо сказали:
Аватара пользователя
Hephaestus
Сообщения: 3728
Статус: Многоуважаемый джинн...
ОС: Slackware64-14.1/14.2

Re: $ su -c 'fdisk -l /dev/sdb' не работает в Mageia

Сообщение Hephaestus »

algri14 писал:
15.12.2019 20:23
bash: fdisk: команда не найдена
У меня сработало нормально.
algri14 писал:
15.12.2019 21:28
я хочу знать почему, нюанс
su с дефисом срабатывает как su --login, то есть как если бы вы залогинились рутом (со всеми вытекающими последствиями). su без дефиса запускает шелл от текущего пользователя (опять-таки со всеми вытекающими: наследует переменные окружения и т.п.).

Кстати, если я не ошибаюсь, разницу можно заменить по имени текущего каталога. Если у Вас в терминале строка приглашения отображает текущий каталог, то при смене пользователя должно быть видно, что путь меняется.
При выполнении su с дефисом произойдет переход в домашний каталог рута, а при выполнении su без дефиса текущий каталог не изменится.

Что касается Вашей команды, попробуйте, например, указать полный путь к команде
su -c '/sbin/fdisk -l /dev/sdb'
algri14 писал:
15.12.2019 20:23
Например, нелепо открывать внутренний сеанс суперпользователя для того, чтобы только посмотреть текущую разметку диска командой вроде fdisk -l.
На самом деле не вижу здесь ничего нелепого.
Если нам нужно запустить консольную программу, мы открываем терминал (обычный - пользовательский).
Ради одной команды, ради двух, ради десяти - не имеет значения. Надо - открываем.
Точно так же мы открываем и рутовый терминал.

Почему открывать пользовательский терминал ради одной команды - нормально, а открыть рутовый терминал - нелепо?
algri14 писал:
15.12.2019 21:28
более правильная и безопасная
Она ещё и более удобная. Позволяет детально настроить, кому, чего и в каком виде можно запускать.
Кроме того, умеет писать лог. Возможно, su тоже что-то такое умеет, не знаю.
Пускай скрипят мои конечности.
Я - повелитель бесконечности...
Мой блог
Спасибо сказали:
Аватара пользователя
algri14
Сообщения: 1369
ОС: Mageia 5.1 & 8 x86_64, KDE

Re: $ su -c 'fdisk -l /dev/sdb' не работает в Mageia

Сообщение algri14 »

Hephaestus писал:
15.12.2019 23:45
Что касается Вашей команды, попробуйте, например, указать полный путь к команде
su -c '/sbin/fdisk -l /dev/sdb'
Да, так работает, но команда стала ещё длиннее
Hephaestus писал:
15.12.2019 23:45
su с дефисом срабатывает как su --login, то есть как если бы вы залогинились рутом (со всеми вытекающими последствиями). su без дефиса запускает шелл от текущего пользователя (опять-таки со всеми вытекающими: наследует переменные окружения и т.п.).
Да, но не совсем:

Shell

[algri@localhost ~]$ su --c 'fdisk -l /dev/sdb' не работает
Пароль:
bash: fdisk: команда не найдена
[algri@localhost ~]$ su - -c 'fdisk -l /dev/sdb' а так работает (есть пробел)
Hephaestus писал:
15.12.2019 23:45
Она ещё и более удобная. Позволяет детально настроить, кому, чего и в каком виде можно запускать.
Кроме того, умеет писать лог. Возможно, su тоже что-то такое умеет, не знаю.
Да, Вы правы
хабр писал(а): su или sudo?
Q: sudo -i длиннее, чем su -, а разницы между ними вроде как и никакой, зачем печатать больше?
A: У sudo есть несколько преимуществ, ради которых стоит потрудиться набрать несколько лишних символов:

по умолчанию sudo записывает всю пользовательскую активность в syslog-канал authpriv (как правило, результат кладется в файл /var/log/auth.log), а в su подобную фичу надо включать с помошью задания специального параметра в файле настроек, различающемся от дистрибутива к дистрибутиву (SULOG_FILE в /etc/login.defs в Ubuntu Linux, /etc/login.conf и /etc/pam.d/su в FreeBSD и т.д.)
В общем всё как писали sash-kan и drBatty , но в Mageia после установки и настройки sudo происходила какая-то нелепица, в одних случаях требовалось su, в других sudo, мне приходилось вставлять пароль по два раза, сначала юзера, потом root (или наоборот). Поэтому сейчас даже не хочется экспериментировать по установке sudo, ибо не знаю как лечить эту дву-партийность :D
Спасибо сказали:
Аватара пользователя
Hephaestus
Сообщения: 3728
Статус: Многоуважаемый джинн...
ОС: Slackware64-14.1/14.2

Re: $ su -c 'fdisk -l /dev/sdb' не работает в Mageia

Сообщение Hephaestus »

algri14 писал:
16.12.2019 00:56
Да, но не совсем:
Почему не совсем? Всё правильно.
algri14 писал:
16.12.2019 00:56
su --c 'fdisk -l /dev/sdb' не работает
Разумеется. Вы два ключа - и -c объединили в один.
Как система должна это воспринимать?
algri14 писал:
16.12.2019 00:56
su - -c 'fdisk -l /dev/sdb' а так работает (есть пробел)
Пробел обязателен. Дефис, разделенный пробелами - это всего лишь краткий вариант ключа --login.
Ключи разделяем пробелами? Разделяем. Вот и дефис разделяем.
Другими словами, это команда
su --login -c 'fdisk -l /dev/sdb'
Пускай скрипят мои конечности.
Я - повелитель бесконечности...
Мой блог
Спасибо сказали:
MiK13
Сообщения: 1262
ОС: Linux Debian

Re: $ su -c 'fdisk -l /dev/sdb' не работает в Mageia

Сообщение MiK13 »

А почему возникли такие изменения? Я сам не так давно с этим столкнулся.
Раньше в Debian (в том числе и в Debian 9 Stretch) по команде su менялось значение переменной $PATH, а текущий каталог оставался прежним. И можно было вызвать любую программу из каталогов *sbin В Debian 10 Buster значение этой переменной уже не меняется. И чтобы вызвать системную программу нужно выдавать su -. Но при этом происходит переход в каталог /root. Что не всегда удобно.
Спасибо сказали:
Аватара пользователя
Hephaestus
Сообщения: 3728
Статус: Многоуважаемый джинн...
ОС: Slackware64-14.1/14.2

Re: $ su -c 'fdisk -l /dev/sdb' не работает в Mageia

Сообщение Hephaestus »

MiK13 писал:
19.12.2019 12:19
А почему возникли такие изменения?
В соседней теме вопрос всплывал по ходу обсуждения.
Следы ведут сюда.
Пускай скрипят мои конечности.
Я - повелитель бесконечности...
Мой блог
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 21257
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: $ su -c 'fdisk -l /dev/sdb' не работает в Mageia

Сообщение Bizdelnick »

MiK13 писал:
19.12.2019 12:19
А почему возникли такие изменения?
Re: debian 10 не работает dpkg
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали: