arcanis |
|
Темы:
31
Сообщения:
1496
Участник с: 09 сентября 2012
|
vadik $ sudo chmod +s /usr/bin/pacman $ \pacman -S guake $ \pacman -Qlq guake | grep -x /usr/bin/guake /usr/bin/guake $ la /usr/bin/guake -rwxr-xr-x 1 root root 54682 окт 16 2012 /usr/bin/guake но не запускается правда =) Подозреваю, что из за невыполненного gconfpkg, который есть в install. add проверил, так и есть. |
vadik |
|
Темы:
57
Сообщения:
5497
Участник с: 17 августа 2009
|
arcanis, я уже устал ходить вокруг да около. Можно сколько угодно менять биты, права запуска, исходный код пакмана и прочее. Но если у пользователя нет прав на запись в какую-то директорию, то и пляски с пакманом не помогут. Ну не сможет пакман распаковать бинарник из архива - в /usr/bin. У простого пользователя (не root и не входит в группу) - нет прав на запись в данный каталог! Уберите алиас, перелогиньтесь и проверьте. У вас, по видимому, алиас срабатывает. А пароль не запрашивает, потому, что перед этим выполнялась команда с sudo (или в судоерс настроено). |
arcanis |
|
Темы:
31
Сообщения:
1496
Участник с: 09 сентября 2012
|
Может-не может, но ведь делает! Настроено через конфиг шелла (zsh). И точно не алиас, т.к. у меня стоит подсветка синтаксиса, он алиасы и команды разным цветом окрашивает. Но раз вы настаиваете =)$ which pacman pacman: aliased to sudo pacman $ \pacman -S test ошибка: Вы не можете выполнить эту операцию, не являясь суперпользователем (root). $ sudo chmod +s /usr/bin/pacman $ \pacman -S test ошибка: цель не найдена: test $ bash $ alias alias ls='ls --color=auto' $ ls -la `which pacman` -rwsr-sr-x 1 root root 110464 июн 18 08:01 /usr/bin/pacman $ pacman -S guake $ pacman -Qlq guake | grep -x /usr/bin/guake /usr/bin/guake $ ls -la /usr/bin/guake -rwxr-xr-x 1 root root 54682 окт 16 2012 /usr/bin/guake $ ls -lad /usr/bin drwxr-xr-x 4 root root 135168 окт 2 22:46 /usr/bin $ ls -lad /usr drwxr-xr-x 12 root root 4096 сен 28 06:10 /usr $ ls -lad / drwxr-xr-x 19 root root 4096 сен 28 05:38 / $ groups lp ftp log tor network video audio optical storage scanner users vboxusers bumblebee cdemu plugdev i2p Даже если я укажу ему четко /usr/bin/pacman результат не изменится Еще так для убедительности grep -v "^#\|^$" /etc/sudoers |
naszar |
|
Темы:
21
Сообщения:
507
Участник с: 24 сентября 2012
|
Можно сколько угодно менять биты, права запуска, исходный код пакмана и прочее. Но если у пользователя нет прав на запись в какую-то директорию, то и пляски с пакманом не помогут.Извините, что вмешиваюсь в ваш спор, но я же выше писал: пакман с установленным suid битом может писать куда угодно, ибо его euid=0. Поэтому он успешно распаковывает все пакеты. Но в то-же время, чтобы завершить установку пакману нужно выполнить установочный скрипт, и для этого запустить bash. В этом месте начинаются проблемы - т.к. баш сбрасывает euid в uid и соответственно постинсал не отрабатывает из-за недостатка прав. Пакман эту ошибку никак не обрабатывает, и файлы которые он распаковал остаются.. Собственно виноват баш и неопределенное поведении пакмана в этой ситуации. По хорошему пакману бы ставить uid в euid перед порождением детишки, если разработчики хотят разрешить запускать его с установленным suid атрибутом или вываливаться с ошибкой, стерев все предварительно распакованное - если автор не хочет чтобы пакман работал с suid битом. В конце концов можно проверять uid а не euid в самом начале... а так, имеем что имеем - ситуация не была предусмотрена и поведение не определено... определить поведение пакмана в этой ситуацией можно извинением/добавлением одной строчки в исходный код.. но.. может им написать? |
naszar |
|
Темы:
21
Сообщения:
507
Участник с: 24 сентября 2012
|
Мне вполне достаточно остановиться на make и запускать pacman из самой папки с исходниками, свои логи он согласно конфиг файлу итак выведит в нужные мне каталоги а прова на них я точно назначаю.Тут еще одна маленькая трудность может возникнуть. Наткнулся в другой ветке. Если вы ставите пакет, указывая пакману новый корень, командой pacman -r /<new_root> -S packege Only a privileged process (Linux: one with the CAP_SYS_CHROOT capability) may call chroot().Так сказать, информация к размышлению... сложную вы задачку придумали. Может поможет man 7 capabilities и setcap.. но это если у вас есть рутовый доступ к системе. |
maisvendoo |
|
Темы:
68
Сообщения:
1143
Участник с: 10 октября 2012
|
Оого! Уже три страницы, и собственно непонятно о чём спор, и зачем так извращатся над бедным пакмэном? ;) Зачем нужен pacman без пароля? То ли им так часто приходится пользоваться? У меня для периодической синхронизации кроном запускается pacman -Syy от имени root, и то это нужно для работы индикатора доступных обновлений на раб. столе. А так, для апдейта раз в день не влом и пароль ввести, имхо. P. S.: Подозреваю, что это нужно для автоматизации каких-то действий с использованием pacman )
Да пребудет с нами Сила...!
CPU Intel Core i9 10900-KF/RAM DDR4 128 Gb/NVidia GForce GTX 1080 Ti Turbo 11Gb/SSD M2 512 Gb/HDD Seagate SATA3 2 Tb/HDD Toshiba 3Tb/HDD Toshiba 6Tb http://rusrailsim.org |
vadik |
|
Темы:
57
Сообщения:
5497
Участник с: 17 августа 2009
|
Затупил. naszar, arcanis - спасибо. |