Сделать grep UID_MIN /etc/login.defs
. Затем сделайте getent passwd
и посмотрите, у каких пользователей есть UID> = значение UID_MIN сверху.
Объяснение: Каждый раз, когда пользователь вручную добавляется, это захватывает первый доступный UID> = значение UID_MIN от login.defs (если UID вручную не указан),
Скомпилируйте и установите в ~/bin
(и редактирование Ваш .bashrc
установить PATH
включать его). библиотеки могут так же быть скомпилированы и установлены в ~/lib
(набор LD_LIBRARY_PATH
указать на него), и заголовки разработки может быть установлен в, например. ~/includes
.
В зависимости от определенных деталей программ Вы хотите установить и библиотеки, от которых они зависят, можно загрузить .deb файлы и использование'dpkg-deb -x
'для извлечения их под корневым каталогом. У Вас затем будет большая "забава", устанавливающая PATH
, LD_LIBRARY_PATH
, и другой variables
. Чем более сложный программа или приложение, которое Вы устанавливаете, тем более забавны Вы возрастете для :)
Вы, конечно, не сможете установить setuid
двоичные файлы этот путь - они установят, но (так как у Вас нет разрешения к показанному ими, чтобы базироваться или установить setuid
обдумал их), они просто будут нормальными двоичными файлами, принадлежавшими Вам.
Точно так же демоны и системные службы, которые ожидают работать как определенное UID
или имейте способность изменить uid или ожидать, что файлы будут в /etc
скорее ~/etc
и так далее, вероятно, не будут работать хорошо, если вообще.
Большинство системных администраторов рассмотрело бы mc
и mcedit
быть "главным образом безопасными", безвредными программами.
Очень немногие, однако, полагали бы, что установка клиента потока безопасна, особенно если они должны заплатить за пропускную способность или закончить тем, что были юридически ответственны. Большинство системных администраторов, вероятно, не было бы совершенно радо за конечных пользователей установить такое программное обеспечение без разрешения. Они могут сказать "уверенный, идти вперед, вывести себя из строя", или они не могут..., но необходимо спросить о чем-либо, что может вызвать проблемы для владельцев/администраторов машины.
Необходимо скомпилировать их из источника. Это должен просто быть вопрос
apt-get source PACKAGE
./configure --prefix=$HOME/myapps
make
make install
Двоичный файл был бы затем расположен в ~/myapps/bin
. Так, добавьте export PATH="$HOME/myapps/bin:$PATH"
к Вашему .bashrc
файл и перезагрузка .bashrc
файл с source ~/.bashrc
. Конечно, это предполагает, что gcc установлен в системе.
Я столкнулся с той же проблемой, вот как я быстро ее исправил, предполагая, что у вас есть сервер Linux с той же ОС и архитектурой.
Установите программное обеспечение в системе, которой вы управляете
Найдите исполняемый пример which python
и скопируйте его в~/
Скопируйте библиотеки с помощью:
ldd "$(which python)" | grep "=> /" | awk '{print $3}' | xargs -I '{}' cp -v '{}' ~/
Перенесите исполняемый файл и библиотеки в другую систему, где у вас есть только локальные привилегии, затем выполните следующее:
mkdir ~/lib
export PATH="$PATH:~/lib"
export LD_LIBRARY_PATH=~/lib:/lib:/usr/lib
Это создаст папку ~/lib
для хранения библиотек, добавит ее к вашему пути и укажет LD посмотреть библиотеки там, так что просто добавьте туда свои исполняемые файлы и библиотеки, теперь вы можете запускать их по своему усмотрению. г в другом месте
Это может быть очень хакерским, но это очень портативно, быстро, и я еще не нашел что-то, что я не могу запустить таким образом, конечно, программное обеспечение не может пытаться делать вещи, требующие root-доступа, такие как привязка к более низкий порт, чем 1024 и т. д.
LD_LIBRARY_PATH
злой взлом. Это применяется здесь также, или я неправильно понял? – Will Vousden 10.02.2016, 15:59