Что делает я должен установить на сервере Ubuntu 9.10 так, чтобы пользователь мог создать приложения там выбора (т.е../настраивать, заставьте && сделать установку) с потребностью в sudo/admin полномочиях.
Я просто чувствую, что это - определенная угроза безопасности, имеющая необходимость предоставлять пользовательский доступ к частям системы, в которой они, возможно, не нуждались бы для создания приложения.
Если ваши пользователи используют
./configure --prefix=/home/user/opt/
Или для проектов cmake
cmake -D CMAKE_INSTALL_PREFIX:PATH=/home/user/opt/ ../source/
Это установит программу с этим префиксом (вместо значения по умолчанию / usr / local /) и ваш пользователи должны иметь возможность запускать программу следующим образом:
/home/user/opt/bin/program
Если вы хотите, чтобы они могли запускать программы, просто используя имя (без полного пути), вам необходимо добавить /home/user/opt/bin
к Переменная окружения path, отредактируйте файл .profile пользователей и добавьте следующую строку:
export PATH=/home/user/opt/bin:$PATH
Обратите внимание, что программы, установленные таким образом, будут частными для конкретного пользователя, но это способ сделать это [ 115]
В дополнение к тому, что сказал txwikinger , вы можете также проверить fakeroot
, что дает возможность создавать пакеты .deb с dpkg
без необходимости повышенных привилегий. Конечно, для их установки обычно требуется доступ sudo.
Пользователи могут создавать приложения без прав sudo. Единственный раз, когда вам нужны права sudo, это когда вы хотите установить что-то в системные каталоги.
./configure
и make
работают всегда без прав sudo. make install
обычно нужны права sudo, потому что приложение будет установлено в /usr/local
или /usr
(иногда /opt
).
Однако, если вы измените префикс для пути установки (то есть ./configure --prefix=~/usr/local
) таким образом, что установка будет выполняться внутри дерева домашних каталогов пользователя, права sudo для make install
не требуются.