LINUX.ORG.RU

oh my zsh: Как оно устанавливает пакеты?

 , , , ,


0

3
neko@takinolap : ~/iso
[2] % pcc
zsh: pcc: command not found...
Install package 'pcc' to provide command 'pcc'? [N/y] y


 * Waiting in queue... 
 * Loading list of packages.... 
 * Waiting in queue... 
 * Waiting for authentication... 
 * Waiting in queue... 
 * Downloading packages... 
 * Requesting data... 
 * Testing changes... 
 * Installing packages... 
error: no input files


neko@takinolap : ~/iso
[0] % which pcc
/usr/bin/pcc

neko@takinolap : ~/iso
[0] % dnf info pcc
Last metadata expiration check performed 4 days, 13:05:12 ago on Mon Jan 18 19:29:40 2016.
Installed Packages
Name        : pcc
Arch        : x86_64
Epoch       : 0
Version     : 1.1.0
Release     : 1.0.20141210cvs.fc23.1
Size        : 938 k
Repo        : @System
From repo   : fedora
Summary     : The Portable C Compiler
URL         : http://pcc.ludd.ltu.se/
License     : BSD with advertising and BSD and ISC
Description : The compiler is based on the original Portable C Compiler by Stephen
            : C. Johnson, written in the late 70's. Even though much of the
            : compiler has been rewritten, some of the basics still remain.
            : 
            : PCC debuted in Unix Version 7 and replaced the DMR compiler (Dennis
            : Ritchie's original C compiler) in both System V and the BSD 4.x
            : releases. Some history about pcc is in the A History of UNIX before
            : Berkeley: UNIX Evolution: 1975-1984 and in the Evolution of C.
            : 
            : About 50% of the front-end code and 80% of the back-end code has been
            : rewritten.  Most stuff is written by Anders Magnusson, with the
            : exception of the data-flow analysis part and the SSA conversion code
            : which is written by Peter A. Jonsson, and the Mips port that were
            : written as part of a project by undergraduate students at Luleå
            : University of Technology (LTU).



Не понял. Каким образом оно поставило пакет, не спросив ни пароля рута, ни пароля от sudo? Что за магия?

pcc взят как первая пришедшая в голову команда. пакет ставится из репы, что видно по выводу dnf info. Конфиг почти дефолтный, из плагинов включено только git, из прочих изменений - минорные изменения в PS1 и усе.

★★★★★

Ответ на: комментарий от Deleted

Нет. Действие производится в новом терминале. Если сразу после выполнения этого действия попробовать сделать

$sudo test
или что угодно, то пароль спросит.

takino ★★★★★ ()
Ответ на: комментарий от takino

Тогда у меня два предположения, но оба достаточно бредовые: либо suid на весть oh-my-zsh, либо только на скрипт, который дёргает пакетный менеджер

Deleted ()
Ответ на: комментарий от Deleted

oh-my-zsh это набор конфигураций, suid на zsh нету.
Я проверил сейчас вот что: добавил юзера без в sudoers и запустил от его имени тот же самый процесс с тем же пакетом.

В результате, gnome shell спросил у меня мой пароль для выполнения этого действия через окошко (хз как зовут - типа gtksu/kdesu старого).

Я, к сож. не знаю как работает аутентификация пользователя в GNOME Shell, однако судя по всему аутентификация происходит на сессию, т.к. я не помню когда последний раз вводил в таком окне пароль и аптайм у машины очень длинный.

takino ★★★★★ ()
Ответ на: комментарий от mamboo

Ага, вот оно как зовется. packagekitd у меня запущен.

Тогда вопрос, я в этой кухне не силен: если при запуске чего-то, что дергает PackageKit, от имени пользователя test, запрашивается пароль текущего залогиненного пользователя - это баг?

takino ★★★★★ ()
Ответ на: комментарий от takino

Я, к сож. не знаю как работает аутентификация пользователя в GNOME Shell, однако судя по всему аутентификация происходит на сессию

ЕМНИП, сейчас это реализовано через systemd. Если хочешь подробностей, кастуй intelfx. Я в этом не так хорошо разбираюсь.

Deleted ()
Ответ на: комментарий от takino

Нет, не баг, всё зависит от настроек polkit (это такая хрень для асинхронной авторизации DBus-запросов).

Ты, наверное, в своём эксперименте добавил юзера не «без записи в sudoers», а «без группы wheel», так?

( ecko: нет, не systemd.)

intelfx ★★★★★ ()
Последнее исправление: intelfx (всего исправлений: 1)
Ответ на: комментарий от intelfx

Да, юзер вообще не принадлежит ни к какой группе, кроме своей. Т.е. nobody, только с шеллом.

takino ★★★★★ ()

Не понял.

да нормально всё, твой дистрибутив детектировал особоодарённую особь и мегакакира, всего лишь))))
у людей с головой обычно всё происходит несколько иначе:

 ls -l /bin/sh && cat /etc/fedora-release && dnf install pcc
lrwxrwxrwx 1 root root 4 янв 11 14:02 /bin/sh -> bash
Fedora release 23 (Twenty Three)
Ошибка: This command has to be run under the root user.
ты же поставил zsh шеллом, а дальше у тебя мозгов не хватло, вот и результат.

novitchok ★★★★★ ()
Ответ на: комментарий от takino

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

novitchok ★★★★★ ()
Ответ на: комментарий от novitchok

Да-да, я понял, что ты очень умный и сразу все знаешь, молодец.
Юному гению-то вообще для поддержания имиджа гениальности главное сразу на личности перейти и всех вокруг обосрать. Тогда сразу видно, что он-то все и знает, и умеет, даже если сам по себе этот гений - полный ноль.

takino ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.