Причина, что Ваш вывод не является дисплеем, состоит в том, потому что Вы не следуете протоколу CGI. Необходимо отправить заголовки ответа сервера перед любым другим выводом.
TOP=`top -n 1`;
PS=`ps aux`;
echo "Content-Type: text/plain" # response header
echo "" # end of headers
echo "that's top\n" $TOP;
echo "ps\n" $PS;
Текст/плоскость использования даст форматирование, Вы хотите, но не дадите использование HTML как гиперссылки. Для этого используйте:
TOP=`top -n 1`
PS=`ps aux`
echo "Content-Type: text/html"
echo ""
echo ""
echo "command output "
echo "that's top
"
echo "$TOP
"
echo "
ps
"
echo "$PS
"
echo ""
Если Вы хотите на пользовательское шифрование, Ubuntu уже предлагает решение для этого, я верю. Это не использует dm-crypt/luks
но ecryptfs
или подобный, для шифрования каждого пользовательского корневого каталога индивидуально, с помощью зашифрованного слоя сверху регулярной файловой системы.
Что касается dm-crypt/luks
, необходимо было бы создать отдельный раздел или логический том для каждого пользователя для достижения того же самого.
Другая возможность состоит в том, что это относится к LUKS, поддерживающему несколько ключей для того же контейнера. Однако это ограничено 8 ключевыми слотами, таким образом, это не очень практично, если Ваше число пользователей не является настолько небольшим.
Вы могли также настроить цепочечную систему - дают пользователю ключ, который разблокировал главный ключ, который в свою очередь разблокировал контейнер. Я не думаю, что это действительно подходит для управления пользователями, хотя - может быть полезно, если Вы хотите предотвратить воровство/потерю карты с интерфейсом USB == потеря ключа.