LINUX.ORG.RU

Восстановление прав на / в арче

 ,


1

2

Сломал права на /, рекурсивно. Мне кажется, что с ними что-то не так

ls -l /
итого 356
lrwxrwxrwx   1 root root       7 окт 25 21:41 bin -> usr/bin
drwxr-xr-x   3 root users   4096 дек 29 21:53 boot
drwxr-xr-x  18 root root    3060 дек 29 22:06 dev
drwxr-xr-x  85 root root    4096 дек 29 22:14 etc
drwxr-xr-x   3 root users   4096 дек 29 22:18 home
lrwxrwxrwx   1 root root       7 окт 25 21:41 lib -> usr/lib
lrwxrwxrwx   1 root root       7 окт 25 21:41 lib64 -> usr/lib
-rw-r--r--   1 root root  320951 дек 29 21:25 list.txt
drwxr-xr-x   2 root root    4096 янв 29  2014 lost+found
drwxrwxrwx   2 root users   4096 окт 28  2013 mnt
drwxr-xr-x   5 root users   4096 ноя  7 17:23 opt
dr-xr-xr-x 143 root root       0 дек 29 22:04 proc
drwxrwxrwx  23 root users   4096 дек 29 22:19 root
drwxr-xr-x  23 root root     520 дек 29 22:05 run
lrwxrwxrwx   1 root root       7 окт 25 21:41 sbin -> usr/bin
drwxr-xr-x   4 root root    4096 окт 25 21:41 srv
dr-xr-xr-x  13 root root       0 дек 29 22:33 sys
drwxrwxrwt  11 root root     260 дек 29 22:33 tmp
drwxr-xr-x  10 root root    4096 дек 29 21:53 usr
drwxr-xr-x  13 root root    4096 дек 29 21:53 var

Думал переустановить все пакеты простым pacman --force -S base base-devel, но пакман НЕ МЕНЯЕТ права при переустановке пакета. Просто не меняет и всё. Искал ключи, бесполезно.

Вопрос - как выставить нужные права? Может скрипт какой есть, ключ у пакмана, что-то ещё?

★★★★★

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

pacman --force -S sudo
предупреждение: sudo-1.8.11.p2-1 не устарел -- переустанавливается
разрешение зависимостей...
проверка конфликтов...

Пакеты (1) sudo-1.8.11.p2-1

Будет установлено:  3,18 MiB
Изменение размера:  0,00 MiB

:: Приступить к установке? [Y/n] y
(1/1) проверка ключей                                     [###############################] 100%
(1/1) проверяется целостность пакета                      [###############################] 100%
(1/1) загрузка файлов пакетов                             [###############################] 100%
(1/1) проверка конфликтов файлов                          [###############################] 100%
(1/1) проверяется доступное место                         [###############################] 100%
(1/1) переустановка sudo                                  [###############################] 100%
предупреждение: права доступа различаются у каталога /etc/sudoers.d/
файловая система: 755  пакет: 750
предупреждение: права доступа различаются у каталога /etc/pam.d/
файловая система: 777  пакет: 755
предупреждение: права доступа различаются у каталога /var/db/sudo/
файловая система: 755  пакет: 711

Осталось написать скрипт, который бы парсил вывод пакмана в файл например, а затем ставил бы нужные права из этого файла

что-то вроде



предупреждение: права доступа различаются у каталога /etc/sudoers.d/
файловая система: 755  пакет: 750
предупреждение: права доступа различаются у каталога /etc/pam.d/
файловая система: 777  пакет: 755
предупреждение: права доступа различаются у каталога /var/db/sudo/
файловая система: 755  пакет: 711

А скрипт в итоге бы делал:

chmod -R 750 /etc/sudoers.d/
chmod -R 755 /etc/pam.d/
chmod -R 711 /var/db/sudo/

Может есть такой у кого или кто-то знает, как написать?
smilessss ★★★★★
() автор топика

восстановить из бэкапа. и стоило создавать тему?

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

есть

$ pacman -Qkk cuda
предупреждение: cuda: /opt/cuda/src/fortran.h (Не совпадают разрешения)
cuda: всего 8176 файлов, 1 измененный файл
и можно парсить mtree для этого дела

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

и можно парсить mtree для этого дела

готового решения нет?)

а то с меня велосипедостроитель не очень

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

If you're using Arch Linux, you can execute pacman -S $(pacman -Qq --dbpath /newarch/var/lib/pacman) --root /newarch --dbpath /newarch/var/lib/pacman, assuming that you're in a Live CD and your Arch install is mounted at /newarch.


так, на заметку
похоже на решение

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