Я поддерживаю IRAF в Debian (и Ubuntu). К вашему третьему вопросу: лучший способ помочь здесь - проверить пакет и сообщить нам о любых проблемах, которые вы испытываете. Используйте страницу ошибки Launchpad или проблемы github для нее или сообщите об этом в систему ошибок Debian. Патчи для улучшений также приветствуются.
Нам также нужен кто-то, кто поддерживает backports для Ubuntu 16.04 и Debian Stretch.
Мне удалось заставить его работать с помощью pam_exec:
Создайте скрипт для установки ecryptfs для всех новых пользователей в /etc/security/ecryptfs:#!/bin/bash
home=`eval echo ~$PAM_USER`
ecryptfs=/home/.ecryptfs/$PAM_USER/.ecryptfs
read password
if [ -d $ecryptfs ]; then
# ecryptfs is set
echo "Ecryptfs is already configured"
exit 0
elif [ `id -u` == 0 ]; then
# Setup ecryptfs and make home
umask 077
mkdir -p $home
group=`id -gn $PAM_USER`
chown $PAM_USER:$group $home
ecryptfs-setup-private -u $PAM_USER -l "$password" -b --nopwcheck
exit 0
else
# NOT ROOT
echo "Cannot login with 'su' for the first time"
exit 1
fi
Убедитесь, что скрипт выполним: sudo chmod a+rx /etc/security/ecryptfs
Добавить запись, чтобы выполнить ее с помощью pam_exec в auth: sudo vim /etc/pam.d/common_auth
Добавить следующие строки: auth required pam_exec.so expose_authtok /etc/security/ecryptfs
auth optional pam_ecryptfs.so unwrap
pam_exec установлен на требуемый, поскольку он не будет устанавливать ecryptfs, если скрипт не запускается с правами root. Это тот случай, если su используется от пользователя без полномочий root. Поэтому, если ecryptfs не настроен и su используется (то есть, когда пользователь впервые пытается войти в систему с помощью su), тогда его получит отказ. Таким образом, мы гарантируем, что пользователь не может войти в систему без установки ecryptfs. Создайте еще один скрипт, чтобы заполнить домашний каталог вместо pam_mkhomedir sudo vim /etc/security/mkhome
. Этот скрипт скопирует все в / etc / skel, если файл .donotremove не существует. #!/bin/bash
cd ~
if [ ! -f .donotremove ] ; then
echo Copying /etc/skel
cp -ra /etc/skel/* ~
touch .donotremove
fi
Также убедитесь, что этот файл является исполняемым: sudo chmod a+rx /etc/security/mkhome
Добавить еще одну запись для выполнения этого скрипта в сеансе sudo vim /etc/pam.d/common_session
Добавьте следующие строки: session optional pam_ecryptfs.so unwrap
session optional pam_exec.so seteuid /etc/security/mkhome
Теперь пользователи LDAP могут войти в систему и иметь ecryptfs зашифрованный домашний каталог.
Вместо того, чтобы напрямую редактировать файлы в /etc/pam.d (что обычно не рекомендуется), лучше применить настройки в качестве профиля PAMConfig.
Просто вставьте этот код в новый файл /usr/share/pam-configs/ecryptfs-nonlocal:
Name: Enable EcryptFS for users from remote directories such as LDAP.
Default: no
Priority: 0
Conflicts: ecryptfs-utils
Auth-Type: Additional
Auth-Final:
required pam_exec.so expose_authtok /etc/security/ecryptfs
optional pam_ecryptfs.so unwrap
Session-Type: Additional
Session-Final:
optional pam_ecryptfs.so unwrap
optional pam_exec.so seteuid /etc/security/mkhome
Password-Type: Additional
Password-Final:
optional pam_ecryptfs.so
И затем запустите pam-auth-update:
Проверьте Enable EcryptFS for users from remote directories such as LDAP. и убедитесь, что eCryptfs Key/Mount Management не установлен. Оставьте все другие варианты в соответствии с вашими предпочтениями.
Это позволит убедиться, что соответствующие конфиги в /etc/pam.d применены и что они остаются там.