Intereting Posts
Патология пути: java больше не работает Как я могу игнорировать функции энергосбережения KDE для определенных программ? Есть ли причина использовать scp вместо rsync? Перейти к первой позиции текста «<CURSOR>» Можно ли трассировать источник Linux от начальной загрузки до пользовательского кода рабочего стола GUI? Zorin / Windows 7 Dual Boot на новом жестком диске, без GRUB! Как выполнить изменения конфигурации отката в SSH в случае сбоя? дистанционное управление vlc с использованием скрипта через ssh Могу ли я настроить терминал XFCE, чтобы открыть все новые терминалы в виде вкладок одного окна? Не удалось запустить резервное копирование ядра аварийного восстановления Что это '!' действительно, когда он добавляется в команду ex (: wq! |: w! |: q!)? Как работает `stdin` linux? Ошибка Xen в CentOS Изменить вывод покупок Удалите всю строку в файле, если первый столбец повторяется

Как удалить пакет для текущего пользователя?

Как я могу удалить пакет для данного пользователя, но оставьте его установленным, чтобы другие пользователи могли его получить? Я использую Ubuntu 12.10.

Большинство пакетов устанавливаются в местах и ​​с разрешениями, поэтому они доступны для нескольких пользователей. Поэтому, если пакет не подготовлен к тому, чтобы позаботиться об этом, установив права доступа и владение особым образом, достичь этого путем удаления пакета невозможно.

Что может сделать пакет для ограничения доступа, это установить групповые разрешения для каталогов и исполняемых файлов на rwxr-x —, а для обычных файлов – rw-r– и присвоить группе групповую принадлежность определенной группе, поэтому не члены этой группы больше не имеют доступа.

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

Предполагая, что пакет abc установлен, вы можете сделать что-то вроде следующего (как root):

 addgroup abcusers adduser user abcusers dpkg -L abc | xargs find -maxdepth 0 -type f | xargs chown o= dpkg -L abc | xargs find -maxdepth 0 -type f | xargs chgrp abcusers 

Первая строка создает группу, вторая строка должна повторяться для всех пользователей, которым необходим доступ к пакету. Третья и четвертая строки изменяют разрешения для всех файлов пакета (если нет имен файлов с пробелами). Тем не менее, это может повредить пакет, поэтому будьте осторожны, с чем вы это делаете, и / или откатите свои изменения с помощью:

 apt-get install --reinstall abc