Linux Desktop System... Wie? Welches?

german

#1

Bisher habe ich nur für Windows Rechner UCS genutzt… Nun wäre es auch schön, wenn ich mich mit Linux ebenfalls mit den selben Userdaten einloggen könnte…

Also ein Linux Desktop der sich mit der UCS Domäne integriert soll her… Aber welchen und wie?!?

Ich nutzte aktuelle Linux Mint und hab mir Manjaro (ArchLinux) angesehen… Beschrieben ist aber nur die Integration von Ubuntu und CentOS: docs.software-univention.de/domain.html

Wenn ich mir die ganzen Schritte ansehe, kommt mir auch mehr das Grausen :slight_smile:

Also warum nicht gleich ein neues System installieren… Also warum nicht UCC: docs.software-univention.de/ucc-manual.html
Ich hab mir mal von updates.software-univention.de/d … cc-images/ die ISO ucc-2.1-thinclient-image.img.iso in VirtualBox probiert… LXDE wäre ja ok, aber man bekommt so auf die schnelle keinen root Zugang :frowning:

Vielleicht wäre ucc-2.1-desktop-image.img.iso besser, aber die größe von 15GB schreckt mich dann doch ab. Warum ist die so groß?!? Außerdem steckt KDE drin, oder?

Also hab ich einfach mal UCS-Installation-amd64.iso in VirtualBox als Memberserver installiert und KDE über das App Center nachinstalliert.
Raus kommt schon ein brauchbarer Desktop. Aber ich kann mich einfach nicht mit KDE anfreunden und leider ist auch keine Alternative in den Repositories :frowning:

Kurz: Wie kann ich einen andern Desktop als KDE auf einer UCS Memberserver installieren?!?
Evtl. original debian Paketquellen hinzufügen? Wie am besten?

EDIT: Ach, es wird nur ein veraltetet Firefox v38.4.0 installiert!


#2

Hallo,

ein Mint-Desktop anhand der vorhandenen Dokumentation ins UCS zu integrieren ist zumindest möglich. Ich habs zwar nicht selbst gemacht, kenne aber jemanden und habs gesehen…

UCC ist so groß weil es ein Image-basiertes System ist.

Ich habe selbst auch keine Argumente pro KDE, würde aber nur bei extremer Langeweile versuchen, etwas anders auf einem UCS laufen zu lassen. Das wird vermutlich deshalb nicht passieren.

Der Firefox unter UCS ist ein ESR.

hth,

Dirk Ahrnke


#3

Wahrscheinlich ist der Thread schon tot, aber vielleicht hilft es irgendwem weiter:

Ich habe auf Basis der Doku ein Skript erstellt, dass Ubuntu clients in die Domäne einbindet und die clients (lightdm, unity) so konfiguriert, dass die Domänennutzer nicht ständig auftauchen und stören.

Oben wird der UCS hart reingeschrieben, kann aber natürlich auch mit einem “read” ersetzt werden.

Schöne Grüße!

echo "User name of domain Admin:"
read domain_admin

export MASTER_IP=192.168.2.1
export ldap_master=foo.bar.de
export kerberos_realm=BAR.DE

mkdir /etc/univention
ssh -t ${domain_admin}@${MASTER_IP} sudo ucr shell |
 grep -v ^hostname= >/etc/univention/ucr_master
echo "master_ip=${MASTER_IP}" >>/etc/univention/ucr_master
chmod 660 /etc/univention/ucr_master
. /etc/univention/ucr_master

echo "${MASTER_IP} ${ldap_master}" >>/etc/hosts


# Set some environment variables
. /etc/univention/ucr_master

# Download the SSL certificate
mkdir -p /etc/univention/ssl/ucsCA/
wget --no-check-certificate -O /etc/univention/ssl/ucsCA/CAcert.pem \
    http://${ldap_master}/ucs-root-ca.crt

# Add certificate to trusted certificates
mkdir /usr/share/ca-certificates/extra
cp /etc/univention/ssl/ucsCA/CAcert.pem /usr/share/ca-certificates/extra/foo-bar-ca.crt
cp /usr/share/ca-certificates/extra/foo-bar-ca.crt /etc/ssl/certs/foo-barr-ca.pem
dpkg-reconfigure ca-certificates

# Create an account and save the password
password="$(tr -dc A-Za-z0-9_ </dev/urandom | head -c20)"
ssh -t ${domain_admin}@${ldap_master} sudo udm computers/ubuntu create \
    --position "cn=computers,${ldap_base}" \
    --set name=$(hostname) --set password="${password}" \
    --set operatingSystem="$(lsb_release -is)" \
    --set operatingSystemVersion="$(lsb_release -rs)"
printf '%s' "$password" >/etc/ldap.secret
chmod 0400 /etc/ldap.secret

# Create ldap.conf
cat >/etc/ldap/ldap.conf <<__EOF__
TLS_CACERT /etc/univention/ssl/ucsCA/CAcert.pem
URI ldaps://$ldap_master:7636
BASE $ldap_base
__EOF__


# Install SSSD based configuration
DEBIAN_FRONTEND=noninteractive apt-get -y install sssd libnss-sss libpam-sss libsss-sudo

# Create sssd.conf
cat >/etc/sssd/sssd.conf <<__EOF__
[sssd]
config_file_version = 2
reconnection_retries = 3
sbus_timeout = 30
services = nss, pam, sudo
domains = $kerberos_realm

[nss]
reconnection_retries = 3

[pam]
reconnection_retries = 3

[domain/$kerberos_realm]
auth_provider = krb5
krb5_kdcip = ${master_ip}
krb5_realm = ${kerberos_realm}
krb5_server = ${ldap_master}
krb5_kpasswd = ${ldap_master}
id_provider = ldap
ldap_uri = ldap://${ldap_master}:7389
ldap_search_base = ${ldap_base}
ldap_tls_reqcert = never
ldap_tls_cacert = /etc/univention/ssl/ucsCA/CAcert.pem
cache_credentials = true
enumerate = true
ldap_default_bind_dn = cn=$(hostname),cn=computers,${ldap_base}
ldap_default_authtok_type = password
ldap_default_authtok = $(cat /etc/ldap.secret)
__EOF__
chmod 600 /etc/sssd/sssd.conf

# Install auth-client-config
DEBIAN_FRONTEND=noninteractive apt-get -y install auth-client-config

# Create an auth config profile for sssd
cat >/etc/auth-client-config/profile.d/sss <<__EOF__
[sss]
nss_passwd=   passwd:   compat sss
nss_group=    group:    compat sss
nss_shadow=   shadow:   compat
nss_netgroup= netgroup: nis

pam_auth=
        auth [success=3 default=ignore] pam_unix.so nullok_secure try_first_pass
        auth requisite pam_succeed_if.so uid >= 500 quiet
        auth [success=1 default=ignore] pam_sss.so use_first_pass
        auth requisite pam_deny.so
        auth required pam_permit.so

pam_account=
        account required pam_unix.so
        account sufficient pam_localuser.so
        account sufficient pam_succeed_if.so uid < 500 quiet
        account [default=bad success=ok user_unknown=ignore] pam_sss.so
        account required pam_permit.so

pam_password=
        password sufficient pam_unix.so obscure sha512
        password sufficient pam_sss.so use_authtok
        password required pam_deny.so

pam_session=
        session required pam_mkhomedir.so skel=/etc/skel/ umask=0077
        session optional pam_keyinit.so revoke
        session required pam_limits.so
        session [success=1 default=ignore] pam_sss.so
        session required pam_unix.so
__EOF__
auth-client-config -a -p sss

# Restart sssd
service sssd restart


cat >/usr/share/pam-configs/ucs_mkhomedir <<__EOF__
Name: activate mkhomedir
Default: yes
Priority: 900
Session-Type: Additional
Session:
    required    pam_mkhomedir.so umask=0022 skel=/etc/skel
__EOF__

DEBIAN_FRONTEND=noninteractive pam-auth-update --force


echo '*;*;*;Al0000-2400;audio,cdrom,dialout,floppy,plugdev,adm' \
   >>/etc/security/group.conf

cat >>/usr/share/pam-configs/local_groups <<__EOF__
Name: activate /etc/security/group.conf
Default: yes
Priority: 900
Auth-Type: Primary
Auth:
    required    pam_group.so use_first_pass
__EOF__

DEBIAN_FRONTEND=noninteractive pam-auth-update


# Add a field for a user name, disable user selection at the login screen
mkdir /etc/lightdm/lightdm.conf.d
cat >>/etc/lightdm/lightdm.conf.d/99-show-manual-userlogin.conf <<__EOF__
[SeatDefaults]
greeter-show-manual-login=true
greeter-hide-users=true
allow-guest=false

__EOF__

cat >>/usr/share/glib-2.0/schemas/ldap-domain.gschema.override <<__EOF__
[com.canonical.indicator.session]
user-show-menu=false

[com.canonical.indicator.session]
show-real-name-on-panel=false

__EOF__

glib-compile-schemas /usr/share/glib-2.0/schemas/

# Install required packages
DEBIAN_FRONTEND=noninteractive apt-get install -y heimdal-clients

# Default krb5.conf
cat >/etc/krb5.conf <<__EOF__
[libdefaults]
    default_realm = $kerberos_realm
    kdc_timesync = 1
    ccache_type = 4
    forwardable = true
    proxiable = true

[realms]
$kerberos_realm = {
   kdc = $master_ip $ldap_master
   admin_server = $master_ip $ldap_master
}
__EOF__

# Stop and disable the avahi daemon
systemctl stop avahi-daemon.service
#apt-get remove avahi-daemon
systemctl disable avahi-daemon.service


# Synchronize the time with the UCS system
ntpdate -bu $ldap_master

# Test Kerberos: kinit will ask you for a ticket and the SSH login to the master should work with ticket authentication:
kinit ${domain_admin}
ssh -t ${domain_admin}@$ldap_master sudo ls /etc/univention

# Destroy the kerberos ticket
kdestroy

#4

@gier_do

Danke für das Script,

ich werde es einmal testen.

Volker


#5

Also ich wünschte mir, man kann eine x-beliebige Debian basierende Distribution nehmen, APT Quellen von univention einbinden, Zusatzpaket installieren und schon ist alles so konfiguriert, das man sich in einer Domäne anmelden kann…


#6

Dies wäre IMO ideal ja. Denn das ganze drumherum (z.B. Verwendung von Images, Verteilung über PXE) macht nicht immer Sinn und macht mitunter mehr Probleme als es nützt. Eigentlich macht es nur Sinn bei Thin-Clients, bei Fatclients macht eine unattended Installation IMO mehr Sinn.


#7

@jedie Vielleicht kannst du einfach mal ausprobieren, ob das nicht vielleicht jetzt schon mit zumindest Ubuntu 16.04 funktioniert.


#8

Ich teste diese Variante gerade. Leider wird nach einem Neustart der Dnsmasq nicht gestartet. Hat jemand eine Idee woran das liegen könnte? Bei normalen UCCs konnte ich dies auch schon beobachten.