1 line
59 KiB
JSON
1 line
59 KiB
JSON
{"config":{"lang":["en"],"separator":"[\\s\\-]+","pipeline":["stopWordFilter"],"fields":{"title":{"boost":1000.0},"text":{"boost":1.0},"tags":{"boost":1000000.0}}},"docs":[{"location":"","title":"Herzlich willkommen zum Meisterkurs IT: Linux Grundlagen","text":"<p>Sehr geehrte Teilnehmende,</p> <p>willkommen zur Kurs\u00fcbersicht rund um Linux f\u00fcr angehende IT-Meisterinnen und IT-Meister. Diese Dokumentation bietet eine strukturierte Zusammenstellung der Arbeitsauftr\u00e4ge und Grundlagen, um praxisnah und fundiert in Linux und Unternehmensumgebungen einzusteigen.</p> <p>Die Inhalte begleiten von den ersten Schritten am Desktop und in der Konsole \u00fcber wichtige Automatisierungsthemen wie <code>cron</code> und <code>systemd</code> bis hin zu realen Einsatzszenarien im Unternehmen, etwa Active Directory, Samba-Freigaben und Nextcloud. Zus\u00e4tzlich werden Bonuskapitel zu Docker angeboten, um containerbasierte Technologien kennenzulernen.</p> <p>Die Navigation auf der linken Seite erm\u00f6glicht einen schnellen Zugriff auf die gew\u00fcnschten Themen. F\u00fcr den bestm\u00f6glichen Lernerfolg w\u00fcnschen wir viel Erfolg und Freude.</p> <p>Mit freundlichen Gr\u00fc\u00dfen </p> <p>Florian Hensel</p>"},{"location":"Linux_Unternehmen/linux-als-ad-client/","title":"Linux als Client in Active Directory","text":"<p>Ein Ubuntu Desktop-System l\u00e4sst sich auch in eine Dom\u00e4ne einbinden. Falls Sie sich fragen, wozu man Linux an ein Windows-Netzwerk anbinden soll, ist einfach erkl\u00e4rt: Egal an welchen Computer Sie gehen, sei es Linux oder Windows, Sie melden Sich mit ihren Benutzerdaten an und erhalten auch ggf. die Administrationsrechte um Auf dem System Schalten und Walten zu k\u00f6nnen, wie sie m\u00f6chten. Im Augenblick sind Rechtevergaben nur f\u00fcr Gruppen pro System anzuwenden, somit k\u00f6nnen Administratoren Programme Installieren. Wenn Gruppenrichtlinien genutzt werden sollen, m\u00fcssen Sie Kostenpflichtige Tools wie Centrify DirectControl oder Ubuntu Pro nutzen.</p>"},{"location":"Linux_Unternehmen/linux-als-ad-client/#voraussetzungen-prufen","title":"Voraussetzungen pr\u00fcfen","text":"<ul> <li>Ubuntu ist installiert und einsatzbereit</li> <li>Netzwerkverbindung zum AD-Controller funktioniert</li> <li>DNS-Aufl\u00f6sung auf die Dom\u00e4ne und den AD-Controller ist sichergestellt</li> <li>Systemuhr ist synchron (z.B. via NTP)</li> <li>Ein AD-Benutzerkonto mit Join-Rechten ist vorhanden</li> </ul>"},{"location":"Linux_Unternehmen/linux-als-ad-client/#system-aktualisieren","title":"System aktualisieren","text":"<pre><code>sudo apt update\nsudo apt upgrade\n</code></pre>"},{"location":"Linux_Unternehmen/linux-als-ad-client/#notwendige-pakete-installieren","title":"Notwendige Pakete installieren","text":"<pre><code>sudo apt install -y realmd sssd sssd-tools adcli samba-common-bin oddjob oddjob-mkhomedir packagekit libnss-sss libpam-sss krb5-user sssd-krb5\n</code></pre>"},{"location":"Linux_Unternehmen/linux-als-ad-client/#hostname-setzen-fqdn","title":"Hostname setzen (FQDN)","text":"<p>Passe den Hostnamen an das AD-Schema an (z.B. rechnername.deinedom\u00e4ne.de):</p> <pre><code>sudo hostnamectl set-hostname vbox.tnXX.ito\n</code></pre>"},{"location":"Linux_Unternehmen/linux-als-ad-client/#kerberos-konfigurieren","title":"Kerberos konfigurieren","text":"<p>Bearbeite die Datei <code>/etc/krb5.conf</code> und passe die Domain an:</p> <pre><code>[libdefaults]\nudp_preference_limit = 0\ndefault_realm = TNXX.ITO\nrdns = false\n</code></pre> <p>Hinweis: Dom\u00e4nenname in Gro\u00dfbuchstaben eintragen</p>"},{"location":"Linux_Unternehmen/linux-als-ad-client/#funktionstest-domane-entdecken","title":"Funktionstest: Dom\u00e4ne entdecken","text":"<pre><code>realm discover tnXX.ito\n</code></pre> <p>Ergebnis pr\u00fcfen: Die Dom\u00e4ne sollte mit Typ \u201eactive-directory\" angezeigt werden.</p>"},{"location":"Linux_Unternehmen/linux-als-ad-client/#kerberos-ticket-holen","title":"Kerberos-Ticket holen","text":"<pre><code>kinit deinbenutzername\n</code></pre> <p>Passwort eingeben (AD-Benutzer mit Join-Rechten).</p>"},{"location":"Linux_Unternehmen/linux-als-ad-client/#system-der-domane-beitreten","title":"System der Dom\u00e4ne beitreten","text":"<pre><code>sudo realm join -v -U deinbenutzername TNXX.ITO\n</code></pre> <p>Passwort eingeben, wenn abgefragt.</p>"},{"location":"Linux_Unternehmen/linux-als-ad-client/#home-verzeichnisse-fur-ad-benutzer-automatisch-erstellen","title":"Home-Verzeichnisse f\u00fcr AD-Benutzer automatisch erstellen","text":"<p><pre><code>sudo pam-auth-update\n</code></pre> \u201eCreate home directory on login\" aktivieren falls deaktiviert und mit OK best\u00e4tigen.</p>"},{"location":"Linux_Unternehmen/linux-als-ad-client/#funktionstest-ad-benutzer-auflisten","title":"Funktionstest: AD-Benutzer auflisten","text":"<pre><code>id benutzer@TNXX.ITO\n</code></pre> <p>Wenn die Benutzerinformationen angezeigt werden, war der Join erfolgreich.</p>"},{"location":"Linux_Unternehmen/linux-als-ad-client/#optional-sudo-rechte-fur-ad-gruppen-vergeben","title":"(Optional) Sudo-Rechte f\u00fcr AD-Gruppen vergeben","text":"<p>Datei anlegen:</p> <p><pre><code>sudo nano /etc/sudoers.d/adadmins\n</code></pre> Eintragen (Beispiel):</p> <p><pre><code>%administratoren@TNXX.ITO ALL=(ALL) NOPASSWD:ALL\n</code></pre> Kontrollfragen</p> <ol> <li>Welche Pakete sind f\u00fcr den AD-Join notwendig?</li> <li>Wie pr\u00fcfen Sie, ob die Dom\u00e4ne erreichbar ist?</li> <li>Wie testen Sie, ob ein AD-Benutzer korrekt erkannt wird? </li> <li>Warum ist die DNS-Konfiguration so wichtig f\u00fcr den AD-Join?</li> </ol> <p>Hinweis:\\ Bei Fehlern pr\u00fcfen Sie die Logdateien (/var/log/sssd/, /var/log/auth.log, /var/log/syslog) und die Netzwerkkonfiguration.</p> <p>PDF herunterladen</p>"},{"location":"Linux_Unternehmen/nextcloud-ldap/","title":"Nextcloud mit LDAP-Anbindung","text":"<p>NextCloud bringt ihnen eine erweiterte Funktionalit\u00e4t der Bereitstellung und Synchronisierung ihrer Daten f\u00fcr Mitarbeiter. NextCloud biete \u00fcber Erweiterungen und Plug-Ins die M\u00f6glichkeit auch in anderen Teilen ihres Unternehmens Verbesserungen der Zusammenarbeit zu schaffen. Prinzipiell ist NextCloud aber ihre Private Cloud - Sie wissen, wo die Daten liegen und Sie wissen wer darauf zugreifen kann und darf.</p>"},{"location":"Linux_Unternehmen/nextcloud-ldap/#vorbereitungen","title":"Vorbereitungen","text":"<p>NextCloud ben\u00f6tigt erg\u00e4nzend zu dem evtl. massiven Speicherplatzbedarf auch noch eine funktionierend SQL-Datenbank. Hierf\u00fcr wird der reine Open-Source mySQL Ableger MariaDB empfohlen.</p>"},{"location":"Linux_Unternehmen/nextcloud-ldap/#installation-datenbank-mit-webmanagement-und-weiterer-benotigter-komponenten","title":"Installation Datenbank mit Webmanagement und weiterer ben\u00f6tigter Komponenten","text":"<pre><code>sudo apt install apache2 mariadb-server libapache2-mod-php php php-mysql php-xml php-gd php-curl php-zip php-mbstring php-intl php-bcmath php-gmp php-imagick php-redis redis-server php-ldap php-smbclient unzip phpmyadmin\n</code></pre> <p>Abfragen nach dem zu verwendenden Webserver: apache2</p> <p>Konfiguriere phpmyadmin: Ja Datenbank Konfigurieren</p> <p>Passwort setzen</p> <p>Im Anschluss muss die Datenbank noch gesichert werden um etwaigen Missbrauch zu unterbinden und auch das Root-Passwort wird hier gesetzt</p> <p><pre><code>sudo mysql_secure_installation\n</code></pre> 1. Abfrage des aktuellen Passwortes NICHTS EINGEBEN NUR BEST\u00c4TIGEN</p> <ol> <li> <p>Soll ein Root-Passwort gesetzt werden? Y</p> </li> <li> <p>Passwort eingeben und wiederholen</p> </li> <li> <p>Soll der Anonyme User entfernt werden? Y</p> </li> <li> <p>Remote-Login f\u00fcr Root deaktivieren? Y</p> </li> <li> <p>test-Datenbank entfernen? Y</p> </li> <li> <p>\u00c4nderungen \u00fcbernehmen? Y</p> </li> </ol> <p>Jetzt muss einmalig in die SQL-Datenbank der Login f\u00fcr root \u00fcber das Webinterface aktiviert werden:</p> <pre><code>sudo mysql -u root -p\n</code></pre> <pre><code>use mysql;\nupdate user set plugin='' where User='root';\nflush privileges;\n\\q\n</code></pre> <p>Zugriff auf ihre Datebank per Webinterface:</p> <p>http://IP/phpmyadmin</p> <p>Legen Sie einen neuen Nutzer f\u00fcr NextCloud an und gew\u00e4hren Sie dem Nutzer alle Rechte an seiner Datenbank \u201eNextcloud\". /newpage</p>"},{"location":"Linux_Unternehmen/nextcloud-ldap/#nextcloud-installieren","title":"NextCloud installieren","text":"<p>NextCloud bietet derzeit keine externe Paketquellen an. Deshalb muss Nextcloud als Zip-Archiv heruntergeladen werden und im Anschluss passend entpackt werden.</p> <pre><code>wget https://download.nextcloud.com/server/releases/latest.zip\nunzip latest.zip\nsudo cp -r nextcloud /var/www/\nsudo chown -R www-data:www-data /var/www/nextcloud/\n</code></pre> <p>Jetzt legen wir noch ein Separates Datenverzeichnis an. Dies bringt den Vorteil, dass dieses sich auch auf einer separaten Partition befinden kann.</p> <pre><code>sudo mkdir /srv/cloud\nsudo chown www-data:www-data -R /srv/cloud\n</code></pre> <p>erstellen <code>/etc/apache2/sites-available/nextcloud.conf</code> mit Inhalt: <pre><code><VirtualHost *:80>\n DocumentRoot \"/var/www/nextcloud\"\n ServerName nextcloud.hensel.dom\n ErrorLog ${APACHE_LOG_DIR}/error.log\n CustomLog ${APACHE_LOG_DIR}/access.log combined\n <Directory /var/www/nextcloud/>\n Options +FollowSymlinks\n AllowOverride All\n <IfModule mod_dav.c>\n Dav off\n </IfModule>\n SetEnv HOME /var/www/nextcloud\n SetEnv HTTP_HOME /var/www/nextcloud\n Satisfy Any\n </Directory>\n</VirtualHost>\n</code></pre> Speichern und aktivieren mit</p> <pre><code>sudo a2ensite nextcloud\nsudo a2dissite 000-default.conf\n</code></pre> <p>Aktivieren der ben\u00f6tigten Apache2-Module</p> <pre><code>sudo a2enmod rewrite\nsudo a2enmod headers\nsudo a2enmod env\nsudo a2enmod dir\nsudo a2enmod mime\nsudo a2enmod setenvif\nsudo a2enmod ssl\nsudo systemctl restart apache2\n</code></pre> <p>Nun k\u00f6nnen Sie per http auf den Webserver zugreifen http://nextcloud.hensel.dom</p> <p></p> <p>Hier legen Sie nun das Administrator-Konto ein, wobei nat\u00fcrlich Admin und ein schwaches Passwort hier Tabu sind.</p> <p>Geben Sie als Datenverzeichnis das gerade angelegte Verzeichnis an und geben Sie die entsprechenden Daten die beim Anlagen der Datenbank gesetzt wurden ein.</p> <p>Nach dem Klick auf Installation abschlie\u00dfen werden Sie auch schon ihr eigenes Datenverzeichnis bef\u00f6rdert, wobei ihnen erst noch ein Hinweis angezeigt wird wie Sie Desktop- und Mobile-Apps nutzen k\u00f6nnen.</p> <p>Wechseln Sie als n\u00e4chstes in der rechten oberen Ecke in das Administrator-Men\u00fc.</p> <p>Im oberen Bereich begr\u00fc\u00dfen Sie dabei gleich einige Konfigurationsfehler:</p> <p>Wir nutzen noch kein SSL und keinen Cache.</p> <p>K\u00fcmmern wir uns erst einmal um den Cache, wobei wir den Redis-Server bereits installiert haben. Somit muss nur noch die Nextcloud-Configuration angepasst werden:</p> <p><pre><code>sudo nano /var/www/nextcloud/config/config.php\n</code></pre> F\u00fcgen Sie eine weitere Zeile vor der schlie\u00dfenden Klammer ein: ... <pre><code>'dbtype' => 'mysql',\n 'version' => '12.0.0.29',\n 'dbname' => 'NextCloud',\n 'dbhost' => 'localhost',\n 'dbport' => '',\n 'dbtableprefix' => 'oc_',\n 'dbuser' => 'NextCloud',\n 'dbpassword' => 'passw0rd#',\n 'logtimezone' => 'UTC',\n 'installed' => true,\n 'memcache.distributed' => '\\OC\\Memcache\\Redis',\n 'memcache.local' => '\\OC\\Memcache\\Redis',\n 'memcache.locking' => '\\OC\\Memcache\\Redis',\n 'redis' => array(\n 'host' => 'localhost',\n 'port' => 6379,\n ),\n);\n</code></pre> Laden Sie Sie Administrator-Seite neu -- Der Fehler sollte weg sein.</p>"},{"location":"Linux_Unternehmen/nextcloud-ldap/#ssl-zertifikat","title":"SSL-Zertifikat","text":"<p>F\u00fcr die https / SSL \u00dcbertragung ben\u00f6tigen wir noch ein selbst-signiertes Zertifikat welches dem Browser \u00fcbergeben werden kann.</p> <pre><code>sudo -s\nopenssl req -new -x509 -days 365 -nodes -out /etc/ssl/certs/NextCloud.pem -keyout /etc/ssl/private/NextCloud.key\n</code></pre>"},{"location":"Linux_Unternehmen/nextcloud-ldap/#konfiguration-apache-fur-das-ssl-zertifikat","title":"Konfiguration Apache f\u00fcr das SSL-Zertifikat","text":"<p>Konfiguration der Ben\u00f6tigten Module:</p> <p>Bearbeiten der Datei <code>/etc/apache2/sites-available/nextcloud.conf</code></p> <p><pre><code><VirtualHost *:80>\n Redirect permanent / https://nextcloud.hensel.dom\n</VirtualHost>\n\n<IfModule mod_ssl.c>\n <VirtualHost *:443>\n SSLEngine on\n SSLCertificateFile /etc/ssl/certs/NextCloud.pem\n SSLCertificateKeyFile /etc/ssl/private/NextCloud.key\n\n <IfModule mod_headers.c>\n Header always set Strict-Transport-Security \"max-age=31536000; includeSubDomains; preload\"\n </IfModule>\n\n DocumentRoot \"/var/www/nextcloud\"\n ServerName nextcloud.hensel.dom\n ServerAlias www.nextcloud.hensel.dom\n\n ErrorLog ${APACHE_LOG_DIR}/error.log\n CustomLog ${APACHE_LOG_DIR}/access.log combined\n\n <Directory /var/www/nextcloud/>\n Options +FollowSymlinks\n AllowOverride All\n <IfModule mod_dav.c>\n Dav off\n </IfModule>\n SetEnv HOME /var/www/nextcloud\n SetEnv HTTP_HOME /var/www/nextcloud\n Satisfy Any\n </Directory>\n </VirtualHost>\n</IfModule>\n</code></pre> Aktivieren:</p> <pre><code>sudo a2ensite default-ssl.conf\nsudo systemctl restart apache2\n</code></pre> <p>Apache Neustarten und Fertig</p>"},{"location":"Linux_Unternehmen/nextcloud-ldap/#cronjob-fur-regelmaige-aktualisierung-der-datenbank","title":"CronJob f\u00fcr regelm\u00e4\u00dfige Aktualisierung der Datenbank","text":"<p>NextCloud aktualisiert bei jedem Zugriff auf das Webinterface die Datenbank, allerdings kostet dies wertvolle Sekunden bei einem \u201eWohlf\u00fchl-Interface\" daher aktivieren Wir einen CronJob</p> <p>Die Aktion soll vom User www-data ausgef\u00fchrt werden</p> <p><pre><code>sudo crontab -u www-data -e\n</code></pre> nun k\u00f6nnen wir einen neuen Job einf\u00fcgen:</p> <p><pre><code>\\*/15 \\* \\* \\* \\* php -f /var/www/nextcloud/cron.php\n</code></pre> W\u00e4hlen Sie nun im Administrations-Bereich von NextCloud bei Cron entsprechend auch cron aus.</p> <p>Im Anschluss am besten einmal reboot</p>"},{"location":"Linux_Unternehmen/nextcloud-ldap/#ldap","title":"LDAP","text":"<p>Konfiguration smb.conf bei einem Samba AD-DC <pre><code>[global]\nldap server require strong auth = no\n</code></pre> <pre><code>sudo systemctl restart samba-ad-dc\n</code></pre> Im Anschluss daran suchen wir in den NextCloud-Apps nach dem LDAP user and group backend:</p> <p></p> <p>Aktivieren Sie die App und wechseln Sie wieder in den Administrationsbereich. Dort finden Sie einen neuen Bereich LDAP.</p> <p></p> <p>Die ben\u00f6tigten Informationen finden Sie in ihrer Serverkonfiguration. In diesem Beispiel:</p> <ul> <li>FQDN + Port des AD</li> <li>Nutzer,Gruppe,Dom\u00e4ne Dieser Account muss keine Admin-Rechte haben sollte aber eigener Account sein. </li> <li>Passwort</li> <li>Der Ort in der Dom\u00e4ne an der die User zu suchen sind</li> </ul> <p></p> <p>Welcher Typ soll abgefragt werden? Hier empfiehlt sich eine Separate Gruppe f\u00fcr Nutzer anzulegen welche NextCloud nutzen sollen. Klicken Sie am unteren Rand auf \u201eEinstellungen pr\u00fcfen und Benutzer z\u00e4hlen\" um ihre Konfiguration zu \u00fcberpr\u00fcfen.</p> <p></p> <p>Hier definieren Sie mit welchen M\u00f6glichkeiten sich der Nutzer Authentifizieren kann. W\u00e4hlen Sie die sAMAccountName aus, um dem Nutzer zu erm\u00f6glichen Sich direkt mit seinem Windows-Login anzumelden.</p> <p></p> <p>Hier definieren Sie welche Gruppen ihres Servers in NextCloud \u00fcbernommen werden sollen um ihre Nutzer auch in NextCloud passend sortieren zu k\u00f6nnen und auch Gruppenspezifische Externe Laufwerke einzubinden.</p> <p></p> <p>In der Benutzer\u00fcbersicht sollen alle Nutzer mit ihrem Benutzernamen und nicht mit der UUID angezeigt werden. Somit ist es auch f\u00fcr die Nutzer einfacher, sich gegenseitig zu finden.</p> <p>PDF herunterladen</p>"},{"location":"Linux_Unternehmen/ubuntu-ad-dc/","title":"Installation Ubuntu Server 24.04 LTS","text":"<p>Die Installation des Ubuntu Servers Erfolgt in Virtualbox. Achten Sie bei der Einrichtung der VM darauf, dass die unbeaufsichtigte Installation nicht durchgef\u00fchrt wird, da einzelne Schritte relevant sind.</p> <p>Beim Bootvorgang w\u00e4hlen Sie \u201eTry or Install\" um das Setup zu starten. W\u00e4hlen Sie im n\u00e4chsten Schritt Deutsch als Installations- und Systemsprache. Bei Der Wahl der Tastatur setzen Sie ebenfalls auf German und German.</p> <p>Die Installationsart sollte Standard sein. Minimal f\u00fchrt dazu, dass viele \u201e\u00fcbliche\" Programme wie <code>PING</code> nicht installiert werden. \u00dcblicherweise ben\u00f6tigen Sie den unteren teil der Third-Party-Driver nicht, wenn Sie nicht auf echter Hardware arbeiten. Hier werden dann RAID-Controller oder WLAN-Karten erg\u00e4nzt.</p> <p>Die Netzwerkkonfiguration belassen wir auf DHCP, da sp\u00e4ter die Konfigurationsdatei manuell angepasst werden soll. \u00dcblicherweise w\u00fcrde aber hier eine feste IP f\u00fcr einen Server vergeben werden, wobei darauf zu achten ist, die Subnetzmaske als CIDR anzuh\u00e4ngen. Proxy bleibt leer.</p> <p>Nach der Best\u00e4tigung der Netzwerkkonfiguration testet der Server automatisch den schnellsten/n\u00e4chsten Updateserver.</p> <p>Die Festplattenpartitionierung kann auf Default belassen werden. Die Verwendung von LVM ist mittlerweile Standard. LVM steht f\u00fcr Logical Volume Manager und ist eine Variante Software-RAID um auch nachtr\u00e4glich Erweiterungen oder Redundanzen hinzuzuf\u00fcgen. Best\u00e4tigen Sie ihre Wahl.</p> <p>Setzen Sie Ihren user-account und ihren Hostname dc1.</p> <p>Im n\u00e4chsten Schritt k\u00f6nnen Sie sich f\u00fcr Ubuntu Pro anmelden, einen Dienst, welcher ihnen erweiterten Support und Features wie Kernel-Live-Patches und l\u00e4ngeren Support.</p> <p>Aktivieren Sie auf jeden Fall die Installation des openSSH-Servers. Unten k\u00f6nnten Sie SSH-Keys aus z.B. github importieren, um sie sp\u00e4ter ohne Passwort per SSH auf den Server zu verbinden.</p> <p>Die nachfolgenden Features sind \u201esnaps\" von Ubuntu und sollen im Rahmen der Meisterausbildung nicht genutzt werden, da diese nicht auf \u201eNicht-Ubuntu\" Systemen funktionieren. Hierbei handelt es sich um vorkonfektionierte Programmpakete.</p> <p>Nun l\u00e4uft die Installation durch. Am Ende steht nichts im Log, sondern darunter entsteht ein Button zum Neustarten des Systems.</p> <p>Denken Sie nach dem Neustart daran, dass Sie innerhalb des etz wieder den Cache-Server verwenden: <pre><code>echo 'Acquire::http::Proxy \"http://10.10.224.119:3142\";' | sudo tee /etc/apt/apt.conf.d/02proxy\n</code></pre> \\newpage</p>"},{"location":"Linux_Unternehmen/ubuntu-ad-dc/#ein-linux-server-als-active-directory-domain-controller","title":"Ein Linux-Server als Active Directory Domain Controller","text":"<p>Ein Linux-Server der Active Directory beherrscht, ist eine M\u00f6glichkeit, um auf den Einsatz eines MS-Servers zu verzichten. Es existieren ein paar Einschr\u00e4nkungen aber das Projekt Samba ist im stetigen Wachstum und entwickelt immer neue Funktionen hinzu. In dieser Arbeitsanweisung werden Sie einen Samba4 Active Directory Server installieren und im Anschluss Diesen mit den MS-Remote Server Administration Tools verwalten. Die Funktionalit\u00e4t dieses Servers enth\u00e4lt: DNS, Kerberos, Benutzer und Gruppen, Netzlaufwerke und Gruppenrichtlinien.</p> <p>Vorgaben die in dieser Anleitung genutzt werden. <pre><code>DNS-Server:\nName: dc1.tnXX.ito\nServer Type: Authoritative.\nForward Lookup Zone: tnXX.ito\nReverse Lookup Zone: 2XX.168.192.in-addr.arpa.\n\nDC-Server\nAD DC Hostname: DC1\nAD DNS Domain Name: tnXX.ito\nKerberos Realm: tnXX.ito\nNT4 Domain Name: tnXX\nIP Adresse 192.168.2XX.250\nServer Role: Domain Controller\nDNS Forwarder: 192.168.2XX.1\n\nDHCP Server\nSubnet: 192.168.2XX.0 255.255.255.0\nRange: 192.168.2XX.100 192.168.2XX.200\n</code></pre></p> <p>\\newpage</p>"},{"location":"Linux_Unternehmen/ubuntu-ad-dc/#einrichtung-der-festen-ip-inklusive-dns-anpassung","title":"Einrichtung der festen IP inklusive DNS-Anpassung","text":"<p>In der aktuellen Version von Ubuntu Server wird bei der Netzwerkkonfiguration auf netplan gesetzt. Hierbei wird eine .yaml Datei angelegt, welche in der MAAS-Installation (Cloud-Config) automatisch dem Rechner zugewiesen w\u00fcrde.</p> <p>Als erstes legen wir eine neue Datei an: <pre><code>sudo nano /etc/netplan/01-tnXX-netz.yaml\n</code></pre> <pre><code># This file describes the network interfaces available on your system\n# For more information, see netplan(5).\nnetwork:\n ethernets:\n enp0s3:\n addresses: [192.168.2XX.250/24]\n routes:\n - to: 0.0.0.0/0\n via: 192.168.2XX.1\n dhcp4: no\n nameservers:\n addresses: \\[192.168.2.XX.250,1.1.1.1\\]\n search: \\[tnXX.ito\\]\n optional: true\n version: 2\n</code></pre> Die Anpassung des Hostnamen wurde auch kompatibel mit der Cloud-Config gemacht daher neuer Vorgehensweise: <pre><code>sudo hostnamectl set-hostname dc1\nsudo nano /etc/cloud/cloud.cfg\n</code></pre> <pre><code>preserve_hostname: true # Erh\u00e4lt den Hostnamen nach dem Neustart\n</code></pre> Erweitern der Hosts-Datei: <pre><code>sudo nano /etc/hosts\n</code></pre> <pre><code>127.0.0.1 localhost\n127.0.1.1 dc1.tnXX.ito dc1\n</code></pre> Einagben \u00dcberpr\u00fcfen: <pre><code>sudo hostname\nsudo nslookup dc1\n</code></pre> Beides sollte den oberen Eingaben entsprechen.</p>"},{"location":"Linux_Unternehmen/ubuntu-ad-dc/#installation-der-benotigten-komponenten","title":"Installation der ben\u00f6tigten Komponenten","text":"<p><pre><code>sudo apt update\nsudo apt install samba samba-dsdb-modules samba-vfs-modules krb5-config winbind libpam-winbind libnss-winbind acl dnsutils chrony isc-dhcp-server krb5-user smbclient\n</code></pre> W\u00e4hrend der Installation werden Sie nach dem Realm f\u00fcr Kerberos gefragt: <pre><code>Realm = MKXX.ITO (Alles gro\u00df schreiben)\nServer = DC1.MKXX.ITO\nAdministrator Server = DC1.MKXX.ITO\n</code></pre></p>"},{"location":"Linux_Unternehmen/ubuntu-ad-dc/#linux-fit-fur-acl","title":"Linux fit f\u00fcr ACL","text":"<p>Um mit Samba auch die vollen Windows ACL und Benutzer-Attribute zu unterst\u00fctzen m\u00fcssen diese ebenfalls im ext4 Dateisystem ihres Servers aktiviert werden.</p> <p>Bevor Sie das tun w\u00e4re jetzt der Punkt einen Sicherungspunkt der VM zu machen Bei Tippfehlern werfen Sie sich selbst aus dem System.</p> <pre><code>sudo nano /etc/fstab\n</code></pre> <p><pre><code>UUID=xxx / ext4 defaults 0 0\n</code></pre> Wird zu:</p> <p><pre><code>UUID=xxx / ext4 user_xattr,acl,barrier=1,errors=remount-ro,defaults 0 0\n</code></pre> Speichern und Neustart</p>"},{"location":"Linux_Unternehmen/ubuntu-ad-dc/#zeitserver-einrichten","title":"Zeitserver Einrichten","text":"<p>Als Zeitserver verwenden wir den Dienst chrony.</p> <p><pre><code>sudo nano /etc/chrony/chrony.conf\n</code></pre> Am Ende Anh\u00e4ngen:</p> <p><pre><code>allow 0.0.0.0/24\n</code></pre> Dienst neu starten:</p> <p><pre><code>sudo systemctl restart chrony\n</code></pre> Testen ob der Dienst aktiv ist: <pre><code>ss -tulpen:\n</code></pre></p> <p>udp 0 0 0.0.0.0:123 0.0.0.0:* 0 22432 1180/chronyd</p>"},{"location":"Linux_Unternehmen/ubuntu-ad-dc/#samba-installation-und-provisionierung","title":"Samba Installation und Provisionierung","text":""},{"location":"Linux_Unternehmen/ubuntu-ad-dc/#samba-installieren","title":"Samba Installieren","text":"<p>Sichern der Orginalkonfiguration</p> <pre><code>sudo mv /etc/samba/smb.conf /etc/samba/smb.conf.bak\n</code></pre>"},{"location":"Linux_Unternehmen/ubuntu-ad-dc/#provisionierung-des-samba4-zu-einem-active-directory-domain-controller-mit-unix-erweiterung","title":"Provisionierung des Samba4 zu einem Active Directory Domain-Controller mit UNIX-Erweiterung:","text":"<p><pre><code>sudo samba-tool domain provision --use-rfc2307 --interactive --dns-backend=SAMBA_INTERNAL\n</code></pre> Fragen beantworten: * Realm: TNXX.ITO * Domain: TNXX * Server Role: dc * DNS backend: SAMBA_INTERNAL * DNS forwarder: 1.1.1.1 * Administrator password: 3 von 4: klein, gro\u00df, Zahl Zeichen und mindestens 7 Zeichen lang!!!!!!!!!!!!!! zB. passw0rd#</p> <p>Fertig.</p>"},{"location":"Linux_Unternehmen/ubuntu-ad-dc/#startverhalten-von-samba-an-ad-dc-anpassen","title":"Startverhalten von Samba an AD-DC anpassen","text":"<p><pre><code>sudo systemctl enable --now samba-ad-dc\n</code></pre> Samba nur auf den angegeben Netzwerkkarten starten, auf diese Weise gibt es keine Konflikte mit dem internen Nameserver edit in /etc/samba/smb.conf unter global <pre><code>bind interfaces only = yes\ninterfaces = lo enp0s3\n</code></pre></p>"},{"location":"Linux_Unternehmen/ubuntu-ad-dc/#kerberos-konfiguration-von-samba-ubernehmen","title":"Kerberos-Konfiguration von Samba \u00fcbernehmen","text":"<p>Samba legt bei der Provisionierung eine vorgefertigte Konfigurationsdatei f\u00fcr Kerberos also dem Authentifizierungsdienst, welcher auch eine Synchrone Uhr braucht.</p> <p>Original sichern: <pre><code>sudo mv /etc/krb5.conf /etc/krb5.conf.bak\n</code></pre> Link erstellen: <pre><code>sudo cp -al /var/lib/samba/private/krb5.conf /etc/krb5.conf\n</code></pre></p>"},{"location":"Linux_Unternehmen/ubuntu-ad-dc/#anpassung-der-netzwerkverbindung-um-dns-anfragen-durch-den-internen-dns-zu-beantworten","title":"Anpassung der Netzwerkverbindung um DNS-Anfragen durch den Internen-DNS zu beantworten","text":"<pre><code>sudo nano /etc/netplan/01-tnXX-netz.yaml\n</code></pre> <p><pre><code>...\nnameservers:\n addresses: [192.168.2XX.250]\n search: [tnXX.ito]\n...\n</code></pre> <pre><code>sudo rm /etc/netplan/50-cloud-init.yaml\nsudo netplan apply\n</code></pre> Internen Resolver \u00fcbernehmen <pre><code>sudo rm /etc/resolv.conf\necho -e \\\"nameserver 127.0.0.1\\\\nsearch TNXX.ITO\\\" \\| sudo tee\n/etc/resolv.conf\n</code></pre></p>"},{"location":"Linux_Unternehmen/ubuntu-ad-dc/#uberprufen-der-dns-konfiguration","title":"\u00dcberpr\u00fcfen der DNS-Konfiguration","text":"<p>Testen des SRV record f\u00fcr ldap \u00fcber TCP</p> <pre><code>host -t SRV \\_ldap.\\_tcp.tnXX.ito\n</code></pre> <p>_ldap._tcp.tnXX.ito has SRV record 0 100 389 dc1.tnXX.ito.</p> <p>Testen des SRV record f\u00fcr kerberos \u00fcber UDP</p> <pre><code>host -t SRV \\_kerberos.\\_udp.tnXX.ito\n</code></pre> <p>_kerberos._udp.mkXX.ito has SRV record 0 100 88 dc1.tnXX.ito.</p> <p>Und die Namensaufl\u00f6sung des Servers</p> <pre><code>host -t A dc1.tnXX.ito\n</code></pre> <p>dc1.tnXX.ito has address 127.0.0.1</p> <p>Wenn hier Alles antwortet funktioniert der DNS</p>"},{"location":"Linux_Unternehmen/ubuntu-ad-dc/#kerberos","title":"Kerberos","text":"<p>Samba erzeugt eine passende Konfigurationsdatei f\u00fcr den Kerberos-Dienst diese verlinken wir anstelle der Original-Datei die uns mitinstalliert wurde.</p> <p><pre><code>sudo mv /etc/krb5.conf /etc/krb5.conf.orig\nsudo cp -al /var/lib/samba/private/krb5.conf /etc/krb5.conf\nsudo reboot\n</code></pre> Login-Versuch mit Anlegung des Maschinenaccounts <pre><code>kinit administrator@TNXX.ITO\n</code></pre></p> <p>Es erfolgt eine Ausgabe ihres Passwort-Ablaufdatums <pre><code>klist\n</code></pre> Das komplette Kerberos Ticket wird angezeigt <pre><code>sudo smbclient -L localhost -U 'administrator'\n</code></pre> Sie sehen eine auflistung der Servereigenschaften, der Freigaben und der Serverrolle</p> <p><pre><code>sudo smbclient //localhost/netlogon -U 'administrator'\n</code></pre> Sie sehen das leere netlogon Verzeichnis des Servers und raus geht es mit \u201eexit\"</p>"},{"location":"Linux_Unternehmen/ubuntu-ad-dc/#dhcp-server-einrichten","title":"DHCP-Server einrichten","text":"<p><pre><code>sudo nano /etc/dhcp/dhcpd.conf\n</code></pre> suchen sie den auskommentierten Eintrag \u201eauthoritative;\" und kommentieren Sie ihn ein. Weiter unten finden Sie ein Beispiel:</p> <p><pre><code># A slightly different configuration for an internal subnet.\n#subnet 10.5.5.0 netmask 255.255.255.224 {\n# range 10.5.5.26 10.5.5.30;\n# option domain-name-servers ns1.internal.example.org;\n# option domain-name \"internal.example.org\";\n# option subnet-mask 255.255.255.224;\n# option routers 10.5.5.1;\n# option broadcast-address 10.5.5.31;\n# default-lease-time 600;\n# max-lease-time 7200;\n#}\n</code></pre> welches wir anpassen:</p> <p><pre><code># A slightly different configuration for an internal subnet.\nSubnet 192.168.2XX.0 netmask 255.255.255.0 {\n range 192.168.2XX.100 192.168.2XX.200;\n option domain-name-servers 192.168.2XX.250;\n option domain-name \"tnXX.ito\";\n option subnet-mask 255.255.255.0;\n option routers 192.168.2XX.1;\n option broadcast-address 192.168.2XX.255;\n default-lease-time 600;\n max-lease-time 7200;\n}\n</code></pre> speichern und den dienst neu starten mit: <pre><code>sudo systemctl restart isc-dhcp-server\n</code></pre></p>"},{"location":"Linux_Unternehmen/ubuntu-ad-dc/#benutzer-anlegen-und-verwalten","title":"Benutzer anlegen und Verwalten","text":"<p>Zur Verwaltung der Nutzer der Dom\u00e4ne haben sie (mindestens) 2 M\u00f6glichkeiten:</p>"},{"location":"Linux_Unternehmen/ubuntu-ad-dc/#rsat","title":"RSAT","text":"<p>Nutzen Sie einen Windows PC, nehmen diesen in die Dom\u00e4ne auf, und nutzen die Remote Server Administration Tools von Microsoft. https://learn.microsoft.com/de-de/troubleshoot/windows-server/system-management-components/remote-server-administration-tools </p> <p>Diese werden \u00fcber Features hinzugef\u00fcgt. Pr\u00fcfen Sie welcher Installationsweg bei ihrer Windows Version passt. ( winver ausf\u00fchren )</p> <p>Hiermit k\u00f6nnen Sie Benutzer, Gruppen und auch Gruppenrichtlinien setzen.</p>"},{"location":"Linux_Unternehmen/ubuntu-ad-dc/#cli","title":"CLI","text":"<p>\u00dcber das samba-tool kann mit sudo-rechten ebenfalls das Management erfolgen, allerdings Textbasiert:</p> <p>Nutzer mit Vor und Nachnamen erstellen und ein Passwort vergeben:</p> <p><pre><code>sudo samba-tool user add dieterbecker 'passw0rd#' --given-name=Dieter --surname=Becker\n</code></pre> Wenn auf das Passwort und die Genauen Namen verzichtet wird, erfolgt trotzdem ein Passwort Abfrage Dialog.</p> <p>Das Ganze erweitert um den Profilpfad:</p> <p><pre><code>sudo samba-tool user add dieterbecker 'passw0rd#' --given-name=Dieter --surname=Becker --profile-path='\\\\tnXX\\profiles\\dieterbecker'\n</code></pre> und/oder mit Home-Verzeichnis</p> <p><pre><code>sudo samba-tool user add dieterbecker 'passw0rd#' --given-name=Dieter --surname=Becker --home-drive=U --home-directory='\\\\tnXX\\dieterbecker'\n</code></pre> Nutzer anzeigen: <pre><code>sudo samba-tool user list\n</code></pre> Nutzer L\u00f6schen:</p> <p><pre><code>sudo samba-tool user delete dieterbecker\n</code></pre> Passwort \u00e4ndern: <pre><code>sudo samba-tool user setpassword dieterbecker\n</code></pre> Gruppe anlegen: <pre><code>sudo samba-tool group add Geschaeftsleitung\n</code></pre> Gruppe l\u00f6schen: <pre><code>sudo samba-tool group delete Geschaeftsleitung\n</code></pre> Nutzer oder Gruppe zu Gruppe hinzuf\u00fcgen: <pre><code>sudo samba-tool group addmembers \\\"Geschaeftsleitung\\\" dieterbecker\n</code></pre> Nutzer aus Gruppe entfernen: <pre><code>sudo samba-tool group removemembers \\\"Geschaeftsleitung\\\" dieterbecker\n</code></pre> Gruppenmitglieder Anzeigen: <pre><code>sudo samba-tool group listmembers \\\"Geschaeftsleitung\\\"\n</code></pre></p>"},{"location":"Linux_Unternehmen/ubuntu-ad-dc/#user-auf-ubuntu-umsetzen","title":"User auf Ubuntu umsetzen","text":"<p>Damit die Nutzer auch unter Linux verf\u00fcgbar werden, muss der winbind Dienst wissen, wie die AD-User mit ihren IDs am Server gemappt werden sollen. Daher anpassen der smb.conf:</p> <p>Unter <code>[Global]</code> unter den vorhandenen Eintr\u00e4gen erg\u00e4nzen:</p> <p><pre><code>password server = DC1.TNXX.ITO\nidmap uid = 10000-20000\nidmap gid = 10000-20000\nwinbind enum users = yes\nwinbind enum groups = yes\nwinbind cache time = 10\nwinbind use default domain = yes\nwinbind nss info = rfc2307\n</code></pre> Zum \u00fcbernehmen den Dienst neu starten:</p> <p><pre><code>sudo systemctl restart samba-ad-dc\n</code></pre> User testen:</p> <p><pre><code>getend passwd\n</code></pre> Gruppen testen:</p> <pre><code>getend group\n</code></pre> <p>Es sollten Nutzer und Gruppen mit TNXX\\ auftauchen. Sollte dem nicht der fall sein, bitte in der Datei <code>/etc/nsswitch.conf</code> alle Eintr\u00e4ge mit <code>sss</code> durch <code>winbind</code> ersrtzen und dann nochmals versuchen.</p>"},{"location":"Linux_Unternehmen/ubuntu-ad-dc/#freigaben-fur-die-gruppen-erstellen","title":"Freigaben f\u00fcr die Gruppen erstellen","text":"<p>Damit die Nutzer und Gruppen nun auch Laufwerke bekommen m\u00fcssen die Verzeichnisse erstellt und Freigegeben werden:</p> <p><pre><code>sudo mkdir -p /srv/samba/projekte\n</code></pre> Admins zugang geben:</p> <p><pre><code>sudo chown root:\"TNXX\\Domain Admins\" /srv/samba/projekte\nsudo chmod 0770 /srv/samba/projekte\n</code></pre> ACL auf Dom\u00e4nenadmins erweitern:</p> <pre><code>sudo setfacl -m g:\"TNXX\\Domain Admins\":rwx /srv/samba/projekte\nsudo setfacl -d -m g:\"TNXX\\Domain Admins\":rwx /srv/samba/projekte\n</code></pre> <p>Und damit die Rechte auch setzbar werden:</p> <p><pre><code>sudo samba-tool privilege grant \"TNXX\\Domain Admins\" SeDiskOperatorPrivilege\n</code></pre> Eintrag in der smb.conf daf\u00fcr: <pre><code>[Projekte]\npath = /srv/samba/projekte\nread only = no\nvfs objects = acl_xattr\nmap acl inherit = yes\ninherit acls = yes\ninherit permissions = yes\nnt acl support = yes\n</code></pre></p> <p>Jetzt kann die Freigabe vom Admin mit den Jeweiligen User-Gruppenrechten gesetzt werden. Hierf\u00fcr in einer Windows-Umgebung die Eigenschaften des Netzlaufwerkes anpassen.</p> <p>PDF herunterladen</p>"},{"location":"basics/Automatisierung%20mit%20cron%20und%20systemd/","title":"Automatisierung mit cron und systemd","text":"<p>Stellen Sie sich vor, Sie betreiben einen Server oder eine Anwendung, die rund um die Uhr laufen muss. Als IT-Meister m\u00f6chten Sie jederzeit nachvollziehen k\u00f6nnen, ob Ihr System aktiv ist und wann es zuletzt gestartet wurde. Daf\u00fcr k\u00f6nnen Sie zwei klassische Linux-Automatisierungswerkzeuge nutzen:</p> <ul> <li>Cronjob:\u00a0F\u00fchrt regelm\u00e4\u00dfig Aufgaben aus, z.B. jede Minute, jede Stunde oder einmal t\u00e4glich.</li> <li>systemd-Unit:\u00a0Startet Aufgaben beim Systemstart oder zu bestimmten Ereignissen.</li> </ul> <p>Mit diesen Werkzeugen k\u00f6nnen Sie z.B. eine Datei anlegen oder aktualisieren, um so einen \u201eHerzschlag\" (Heartbeat) Ihres Systems zu dokumentieren.</p>"},{"location":"basics/Automatisierung%20mit%20cron%20und%20systemd/#cron-job-jede-minute-eine-datei-aktualisieren","title":"Cron-Job: Jede Minute eine Datei aktualisieren","text":"<p>Praxisbeispiel: Heartbeat-File</p> <p>Sie m\u00f6chten, dass jede Minute der Zeitstempel einer Datei (/tmp/heartbeat.txt) aktualisiert wird. Das ist n\u00fctzlich, um zu pr\u00fcfen, ob Cron und das System laufen.</p> <p>So geht's:</p> <p>\u00d6ffnen Sie die Crontab des aktuellen Benutzers:</p> <pre><code>crontab -e\n</code></pre> <p>F\u00fcgen Sie folgende Zeile hinzu:</p> <pre><code>* * * * * /usr/bin/touch /tmp/heartbeat.txt\n</code></pre> <p>Jetzt wird jede Minute die Datei\u00a0/tmp/heartbeat.txt\u00a0neu angelegt oder ihr Zeitstempel aktualisiert.</p> <p>\\newpage</p>"},{"location":"basics/Automatisierung%20mit%20cron%20und%20systemd/#crontab-syntax-erklart","title":"Crontab-Syntax erkl\u00e4rt:","text":"Feld Bedeutung Wert im Beispiel Bedeutung Minute 0-59 * jede Minute Stunde 0-23 * jede Stunde Tag (Monat) 1-31 * jeder Tag Monat 1-12 * jeder Monat Tag (Woche) 0-7 (0/7 = Son) * jeder Wochentag Befehl Befehl /usr/bin/touch /tmp/heartbeat.txt Was wird ausgef\u00fchrt <p>Beispiel:</p> <pre><code>* * * * * /usr/bin/touch /tmp/heartbeat.txt\n</code></pre> <p>\u2192 Jede Minute wird die Datei angefasst (\u201etouched\").</p> <p>Weitere Beispiele:</p> <pre><code>0 0 * * * /usr/bin/touch /tmp/midnight.txt\n</code></pre> <ul> <li> jeden Tag um Mitternacht</li> </ul> <pre><code>1/5 * * * * /usr/bin/touch /tmp/every5min.txt\n</code></pre> <ul> <li>alle 5 Minuten beginnend 5 Minuten nach 1 also 6,11,16,...</li> </ul>"},{"location":"basics/Automatisierung%20mit%20cron%20und%20systemd/#systemd-unit-datei-beim-systemstart-aktualisieren","title":"systemd-Unit: Datei beim Systemstart aktualisieren","text":""},{"location":"basics/Automatisierung%20mit%20cron%20und%20systemd/#praxisbeispiel-boot-marker","title":"Praxisbeispiel: Boot-Marker","text":"<p>Sie m\u00f6chten beim Systemstart eine Datei (/tmp/boot.txt) anlegen oder deren Zeitstempel aktualisieren, um den letzten Bootvorgang zu protokollieren.</p> <p>So geht's:</p> <p>Erstellen Sie eine neue systemd-Service-Datei:</p> <pre><code>sudo nano /etc/systemd/system/touch-at-boot.service\n</code></pre> <p>F\u00fcgen Sie folgenden Inhalt ein:</p> <pre><code>[Unit]\nDescription=Touch file at boot\n\n[Service]\nType=oneshot\nExecStart=/usr/bin/touch /tmp/boot.txt\n\n[Install]\nWantedBy=multi-user.target\n</code></pre> <ol> <li>Datei speichern und schlie\u00dfen.</li> <li>Service aktivieren und testen:</li> </ol> <pre><code>sudo systemctl daemon-reload\nsudo systemctl enable touch-at-boot.service\nsudo systemctl start touch-at-boot.service\n</code></pre> <p>Nach jedem Neustart wird\u00a0/tmp/boot.txt\u00a0aktualisiert.</p> <p>systemd-Unit erkl\u00e4rt:</p> <pre><code>[Unit]: Metadaten und Abh\u00e4ngigkeiten\nDescription: Kurze Beschreibung\n[Service]: Was soll gemacht werden?\nType=oneshot: Einmaliger Befehl, kein dauerhafter Prozess der \u00fcberwacht werden k\u00f6nnte\nExecStart: Der auszuf\u00fchrende Befehl\n[Install]: Wann/wo soll der Service gestartet werden?\nWantedBy=multi-user.target: Startet beim normalen Systemstart\n</code></pre> <p>systemd-Kommandos:</p> <pre><code>sudo systemctl start <service> # Service sofort starten\nsudo systemctl enable <service> # Service beim Boot aktivieren\nsudo systemctl status <service> # Status anzeigen\nsudo systemctl stop <service> # Service stoppen\n</code></pre> <p>Wann nutze ich was?</p> <ul> <li>Cronjob: F\u00fcr wiederkehrende Aufgaben (regelm\u00e4\u00dfig, z.B. jede Minute, st\u00fcndlich, t\u00e4glich)</li> <li>systemd-Unit: F\u00fcr Aufgaben beim Systemstart, beim Herunterfahren oder bei bestimmten Ereignissen</li> </ul> <p>PDF herunterladen</p>"},{"location":"basics/Einstieg%20in%20Linux-Desktop/","title":"Einstieg in Linux-Desktop","text":""},{"location":"basics/Einstieg%20in%20Linux-Desktop/#notieren-sie-bei-jedem-schritt","title":"Notieren Sie bei jedem Schritt:","text":"<ul> <li>Welche Men\u00fcpunkte oder Symbole Sie verwendet haben.</li> <li>Was Ihnen besonders leicht oder schwer gefallen ist.</li> <li>Fragen oder Auff\u00e4lligkeiten, die Ihnen beim Arbeiten begegnen.</li> </ul>"},{"location":"basics/Einstieg%20in%20Linux-Desktop/#benutzeroberflache-kennenlernen","title":"Benutzeroberfl\u00e4che kennenlernen","text":"<ul> <li>Erkunden Sie die Men\u00fcstruktur und das Anwendungsmen\u00fc.</li> <li>Passen Sie die Taskleiste an (z.B. Position \u00e4ndern, Plugins wie CPU- oder Temperaturanzeige hinzuf\u00fcgen).</li> <li>Nutzen Sie die Systemtray-Symbole (Netzwerk, Bluetooth, Lautst\u00e4rke).</li> <li>\u00d6ffnen Sie verschiedene Fenster und probieren Sie das Fenster-Management aus (Minimieren, Maximieren, Schlie\u00dfen, ausrichten am Seitenrand).</li> <li>Finden Sie heraus, wie Sie Programme an die Taskleiste oder das Startmen\u00fc anheften k\u00f6nnen.</li> </ul>"},{"location":"basics/Einstieg%20in%20Linux-Desktop/#tastatur-layout-und-sprache-einstellen","title":"Tastatur-Layout und Sprache einstellen","text":"<ul> <li>\u00d6ffnen Sie die Systemeinstellungen.</li> <li>Stellen Sie das Tastatur-Layout auf Deutsch (oder Ihr gew\u00fcnschtes Layout) um.</li> <li>Passen Sie die Systemsprache an.</li> </ul>"},{"location":"basics/Einstieg%20in%20Linux-Desktop/#dateiverwaltung-mit-usb-stick","title":"Dateiverwaltung mit USB-Stick","text":"<ul> <li>Stecken Sie Ihren USB-Stick ein und \u00f6ffnen Sie ihn im Dateimanager.</li> <li>Erstellen Sie auf dem USB-Stick einen neuen Ordner mit Ihrem Namen.</li> <li>Kopieren Sie eine Datei von der VM auf den USB-Stick und umgekehrt.</li> <li>Entfernen Sie den USB-Stick sicher \u00fcber die grafische Oberfl\u00e4che.</li> </ul>"},{"location":"basics/Einstieg%20in%20Linux-Desktop/#sonderfall-etz","title":"Sonderfall etz","text":"<p>Wichtiger Hinweis:</p> <p>Damit alle Teilnehmer im Kurs effizient Updates und Software installieren k\u00f6nnen, wird im Schulungsnetzwerk ein lokaler Paket-Cache (Proxy) verwendet. Diesen Schritt m\u00fcssen Sie au\u00dferhalb der Schulungsst\u00e4tte (z.B. zu Hause) nicht durchf\u00fchren!</p> <p>So richten Sie den Proxy ein:</p> <ol> <li>\u00d6ffnen Sie ein Terminal (z.B. \u00fcber das Startmen\u00fc).</li> <li> <p>Geben Sie folgenden Befehl ein (ersetzen Sie ggf. die IP-Adresse, durch die im Kurs verwendete):</p> <pre><code>echo 'Acquire::http::Proxy \"http://10.10.224.119:3142\";' | sudo tee /etc/apt/apt.conf.d/02proxy\n</code></pre> </li> <li> <p>Fahren Sie anschlie\u00dfend wie gewohnt mit Updates und Installationen fort.</p> </li> </ol>"},{"location":"basics/Einstieg%20in%20Linux-Desktop/#vlc-media-player-installieren-grafisch","title":"VLC Media Player installieren (grafisch)","text":"<ul> <li>\u00d6ffnen Sie den grafischen Paketmanager (\u201eEmpfohlene Software\u201c oder \u201eAdd/Remove Software\u201c).</li> <li>Suchen Sie nach \u201eVLC\u201c.</li> <li>Installieren Sie den VLC Media Player.</li> </ul>"},{"location":"basics/Einstieg%20in%20Linux-Desktop/#system-aktualisieren","title":"System aktualisieren","text":"<ul> <li>\u00d6ffnen Sie das grafische Update-Tool (\u201eSoftware Updater\u201c oder \u201eUpdate Manager\u201c).</li> <li>Starten Sie die Systemaktualisierung und folgen Sie den Anweisungen.</li> </ul>"},{"location":"basics/Einstieg%20in%20Linux-Desktop/#weiteren-benutzer-anlegen-und-rechte-vergeben","title":"Weiteren Benutzer anlegen und Rechte vergeben","text":"<ul> <li>\u00d6ffnen Sie die Einstellungen f\u00fcr \u201eBenutzer und Gruppen\u201c.</li> <li>Erstellen Sie einen neuen Benutzer mit einem selbst gew\u00e4hlten Namen.</li> <li>Geben Sie diesem Benutzer Administratorrechte (Mitglied der Gruppe \u201esudo\u201c oder \u201eAdministratoren\u201c).</li> </ul>"},{"location":"basics/Einstieg%20in%20Linux-Desktop/#remote-zugriff-einrichten-und-testen","title":"Remote-Zugriff einrichten und testen","text":"<ul> <li>Aktivieren Sie \u201eSSH\u201c und/oder \u201eVNC\u201c und \u201eRDP\u201c f\u00fcr den Fernzugriff. (VNC ist unter Ubuntu nicht mehr nativ vorhanden)</li> <li>Testen Sie den Remote-Zugriff auch von einem Windows-PC aus:</li> <li>F\u00fcr SSH: Verwenden Sie z.B. das Programm \u201ePuTTY\u201c.</li> <li>F\u00fcr VNC: Verwenden Sie z.B. \u201eRealVNC Viewer\u201c (geht auch ohne Registrierung)</li> <li>F\u00fcr RDP: Verwenden Sie Micrsoft Remotedesktopverbindung</li> <li>Melden Sie sich mit den Zugangsdaten Ihres Accounts an.</li> </ul> <p>Viel Erfolg beim Erkunden und Einrichten Ihres Linux Desktops!</p> <p>PDF herunterladen</p>"},{"location":"basics/Grundlagen%20der%20Konsole/","title":"Grundlagen der Konsole","text":""},{"location":"basics/Grundlagen%20der%20Konsole/#installation-nutzlicher-programme","title":"Installation n\u00fctzlicher Programme","text":"<p>Bevor Sie beginnen, installieren Sie bitte folgende Programme, die Sie im Kurs ben\u00f6tigen:</p> <ul> <li>nano:\u00a0Einfache Textbearbeitung im Terminal</li> <li>tree:\u00a0Anzeige von Ordnerstrukturen</li> <li>htop:\u00a0\u00dcbersichtliche System\u00fcberwachung</li> </ul> <p>F\u00fchren Sie diesen Befehl im Terminal aus:</p> <pre><code>sudo apt update\nsudo apt install nano tree htop\n</code></pre>"},{"location":"basics/Grundlagen%20der%20Konsole/#wo-befinden-sie-sich","title":"Wo befinden Sie sich?","text":"<p>Lassen Sie sich das aktuelle Verzeichnis anzeigen.</p> <pre><code>pwd\n</code></pre>"},{"location":"basics/Grundlagen%20der%20Konsole/#wechseln-sie-in-ihr-home-verzeichnis","title":"Wechseln Sie in Ihr Home-Verzeichnis.","text":"<p>Tipp: Das Home-Verzeichnis erreichen Sie mit:</p> <pre><code>cd ~\n</code></pre>"},{"location":"basics/Grundlagen%20der%20Konsole/#erstellen-sie-im-home-verzeichnis-einen-ordner-projekt","title":"Erstellen Sie im Home-Verzeichnis einen Ordner \u201eprojekt\".","text":"<pre><code>mkdir projekt\n</code></pre>"},{"location":"basics/Grundlagen%20der%20Konsole/#erstellen-sie-darin-zwei-unterordner-dokumente-und-bilder","title":"Erstellen Sie darin zwei Unterordner \u201edokumente\" und \u201ebilder\".","text":"<pre><code>mkdir projekt/dokumente projekt/bilder\n</code></pre>"},{"location":"basics/Grundlagen%20der%20Konsole/#wechseln-sie-in-den-ordner-projekt","title":"Wechseln Sie in den Ordner \u201eprojekt\".","text":"<pre><code>cd projekt\n</code></pre>"},{"location":"basics/Grundlagen%20der%20Konsole/#erstellen-sie-drei-textdateien-notizentxt-aufgabentxt-ideentxt","title":"Erstellen Sie drei Textdateien: \u201enotizen.txt\", \u201eaufgaben.txt\", \u201eideen.txt\".","text":"<pre><code>touch notizen.txt aufgaben.txt ideen.txt\n</code></pre>"},{"location":"basics/Grundlagen%20der%20Konsole/#erstellen-sie-zwei-bilddateien-platzhalter-bild1jpg-und-bild2jpg","title":"Erstellen Sie zwei Bilddateien (Platzhalter): \u201ebild1.jpg\" und \u201ebild2.jpg\".","text":"<pre><code>touch bild1.jpg bild2.jpg\n</code></pre>"},{"location":"basics/Grundlagen%20der%20Konsole/#kopieren-sie-notizentxt-und-aufgabentxt-in-den-ordner-dokumente","title":"Kopieren Sie \u201enotizen.txt\" und \u201eaufgaben.txt\" in den Ordner \u201edokumente\".","text":"<pre><code>cp notizen.txt aufgaben.txt dokumente/\n</code></pre>"},{"location":"basics/Grundlagen%20der%20Konsole/#verschieben-sie-ideentxt-in-den-ordner-dokumente","title":"Verschieben Sie \u201eideen.txt\" in den Ordner \u201edokumente\".","text":"<pre><code>mv ideen.txt dokumente/\n</code></pre>"},{"location":"basics/Grundlagen%20der%20Konsole/#verschieben-sie-bild1jpg-und-bild2jpg-in-den-ordner-bilder","title":"Verschieben Sie \u201ebild1.jpg\" und \u201ebild2.jpg\" in den Ordner \u201ebilder\".","text":"<pre><code>mv bild1.jpg bild2.jpg bilder/\n</code></pre>"},{"location":"basics/Grundlagen%20der%20Konsole/#zeigen-sie-die-ordnerstruktur-mit-tree-an","title":"Zeigen Sie die Ordnerstruktur mit \u201etree\" an.","text":"<pre><code>tree ~/projekt\n</code></pre>"},{"location":"basics/Grundlagen%20der%20Konsole/#offnen-sie-eine-der-textdateien-mit-nano-und-schreiben-sie-einen-kurzen-text-hinein","title":"\u00d6ffnen Sie eine der Textdateien mit \u201enano\" und schreiben Sie einen kurzen Text hinein.","text":"<pre><code>nano dokumente/notizen.txt\n</code></pre> <p>Speichern Sie mit\u00a0Strg+O, beenden Sie mit\u00a0Strg+X.</p>"},{"location":"basics/Grundlagen%20der%20Konsole/#zeigen-sie-ihre-aktuelle-ip-adresse-an","title":"Zeigen Sie Ihre aktuelle IP-Adresse an.","text":"<pre><code>ip address\n</code></pre> <p>oder</p> <pre><code>hostname -I\n</code></pre>"},{"location":"basics/Grundlagen%20der%20Konsole/#uberwachen-sie-ihr-system-mit-htop","title":"\u00dcberwachen Sie Ihr System mit \u201ehtop\".","text":"<pre><code>htop\n</code></pre>"},{"location":"basics/Grundlagen%20der%20Konsole/#zeigen-sie-die-speicherauslastung-an","title":"Zeigen Sie die Speicherauslastung an.","text":"<pre><code>df -h\n</code></pre>"},{"location":"basics/Grundlagen%20der%20Konsole/#zeigen-sie-die-arbeitsspeicher-auslastung-an","title":"Zeigen Sie die Arbeitsspeicher-Auslastung an.","text":"<pre><code>free -h\n</code></pre>"},{"location":"basics/Grundlagen%20der%20Konsole/#18-wie-finden-sie-hilfe-zu-einem-befehl","title":"18. Wie finden Sie Hilfe zu einem Befehl?","text":"<pre><code>man <Befehl>\n</code></pre> <p>Beispiel:</p> <pre><code>man ls\n</code></pre> <p>Zusatzaufgabe:Erstellen Sie eine weitere Datei im Ordner \u201edokumente\" und verschieben Sie diese anschlie\u00dfend in den Ordner \u201ebilder\". Zeigen Sie danach erneut die Struktur mit\u00a0tree\u00a0an.</p> <p>Viel Erfolg beim Erkunden der Linux-Befehle und beim Organisieren Ihrer Dateien!</p> <p>PDF herunterladen</p>"},{"location":"basics/Windows-Freigabe%20mit%20Samba/","title":"Windows-Freigabe mit Samba","text":"<p>Samba ist die Linux-Variante um SMB-Verbindungen zu Windows, Linux und OS X (macOS) herzustellen. Hierf\u00fcr wird ein Serverdienst installiert und \u00fcber eine \u00fcbersichtliche Konfigurationsdatei entsprechend den Anforderungen eingestellt. Es existieren zwar auch M\u00f6glichkeiten diese Freigaben \u00fcber GUI-Programme oder Webinterfaces zu konfigurieren allerdings sind deren Funktionsumfang meist auf Basis-Funktionen beschr\u00e4nkt. Samba bietet eine \u00dcberpr\u00fcfungsm\u00f6glichkeit der Konfigurationsdatei, um Schreibfehler und deren Konsequenzen \u00fcbersichtlich darzustellen.</p>"},{"location":"basics/Windows-Freigabe%20mit%20Samba/#installation","title":"Installation","text":"<p>F\u00fcr die Installation empfiehlt sich die Shell da hier\u00fcber sinnvoll beobachtet werden kann welche weiteren Abh\u00e4ngigkeiten installiert werden.</p>"},{"location":"basics/Windows-Freigabe%20mit%20Samba/#shell-installation","title":"Shell-Installation","text":"<p>Update der Paketdatenbank und der installierten Pakete</p> <pre><code>sudo apt update && sudo apt-get upgrade -y\n</code></pre> <p>Installation des Samba-Dienstes</p> <pre><code>sudo apt install samba\n</code></pre> <p>Nach der Installation des Dienstes kann dieser \u00fcber die Konfigurationsdatei /etc/samba/smb.conf bearbeitet werden. Die von Ubuntu vorkonfigurierte Version ist nahezu vollst\u00e4ndig selbsterkl\u00e4rend und mit entsprechenden Beispielen versehen.</p>"},{"location":"basics/Windows-Freigabe%20mit%20Samba/#smbconf","title":"smb.conf","text":"<pre><code>[global]\nworkgroup = WORKGROUP\n</code></pre> <p>Hier wird die Arbeitsgruppe bzw. die Dom\u00e4ne, in der der Samba-Server betrieben werden soll definiert.</p> <pre><code>server string = %h server (Samba, Ubuntu)\n</code></pre> <p>Die Beschreibung des Servers (mouse-over) wobei f\u00fcr %h f\u00fcr der hostname des Servers eingesetzt wird.</p> <pre><code>wins support = no\nwins server = w.x.y.z\n</code></pre> <p>Kann ge\u00e4ndert werden zu </p> <pre><code>wins support = yes\n# wins server = w.x.y.z\n</code></pre> <p>Damit \u00fcbernimmt der Samba-Server die WINS-Aufgaben.</p> <p>In einem Netzwerk sollte immer nur ein WINS-Server aktiv laufen.</p> <pre><code>dns proxy = no\n</code></pre> <p>Bei der Grundkonfiguration no wird kein DNS-Server f\u00fcr die Namensaufl\u00f6sung genutzt sondern nur die lokalen host Dateien, WINS-Server und Broadcasts. Wenn ein funktionierender DNS-Server im Netzwerk vorhanden ist kann dieser durch den Einsatz von yes ebenfalls genutzt werden.</p> <pre><code>interfaces = 127.0.0.0/8 eth0\nbind interfaces only = yes\n</code></pre> <p>Hier kann konfiguriert werden ob der Samba-Server auf einer, mehreren oder allen Netzwerkkarten und IP-Adressen verf\u00fcgbar ist. Wenn Sie hier nichts ver\u00e4ndern ist der Server Grunds\u00e4tzlich auf allen Netzwerkkarten und Subnetzen erreichbar.</p> <pre><code>server role =\n</code></pre> <p>standalone server: Die einfachste Variante, nur User die per smbpasswd hinzugef\u00fcgt wurden k\u00f6nnen auf den Samba-Server zugreifen.</p> <p>member server: Der Server ist Mitglied einer Dom\u00e4ne und hat ein Maschinenkonto auf dem ADDC an welchen auch die Benutzeranfragen weitergegegeben werden.</p> <p>classic primary domain controller: Samba agiert als NT4 PDC</p> <p>classic backup domain controller : Samba ist ein sekund\u00e4rer NT4 DC</p> <p>active directory domain controller: Samba agiert als ADDC und \u00fcbernimmt die gesamte Benutzerauthentifizierung. Diese Einstellung sollte nicht von Hand genutzt werden da hierf\u00fcr ein Provisionierungsscript genutzt wird.</p> <pre><code>map to guest = bad user\n</code></pre> <p>Was passiert mit unbekannten Nutzern.</p>"},{"location":"basics/Windows-Freigabe%20mit%20Samba/#freigaben","title":"Freigaben","text":"<p>Freigaben werden je nach Funktionalit\u00e4t unterschiedlich beschrieben wobei es auch besondere Freigaben gibt, welche z.B. Drucker, Clientspezifisch oder Userspezifische Freigaben betreffen.</p>"},{"location":"basics/Windows-Freigabe%20mit%20Samba/#beispiel-einer-freien-freigabe-zb-medienfreigabe-im-privatbereich","title":"Beispiel einer freien Freigabe z.B. Medienfreigabe im Privatbereich","text":"<pre><code>[Musik]\ncomment = Musikfreigabe\npath = /srv/samba/musik\nread only = no\nbrowseable = yes\n</code></pre> <p>Nach dem Speichern \u00fcberpr\u00fcfen Sie ob alle Funktionen, die sie definiert haben korrekt \u00fcbernommen werden konnten:</p> <pre><code>sudo samba-tool testparm\n</code></pre> <p>Sie werden feststellen, dass die Option browseable nicht angezeigt wird. Dies liegt daran, dass diese Kombination browseable = yes ein defaultwert ist und somit nicht angezeigt wird.</p> <p>Damit diese Freigabe auch funktioniert, muss Sie auch auf dem System vorhanden sein, sowie die korrekte Rechtevergabe erfolgt sein.</p> <pre><code>sudo mkdir /srv/samba\nsudo mkdir /srv/samba/musik\nsudo chmod -R a+rw /srv/samba/musik\n</code></pre> <p>nach Abschluss dieser Aktion muss der Samba-Dienst und der NetBIOS-Nameserver neu gestartet werden.</p> <pre><code>sudo systemctl restart smbd.service nmbd.service\n</code></pre> <p>Alle vor der Installation von Samba vorhandenen User sind nicht in der Samba-Datenbank hinterlegt und m\u00fcssen nachgepflegt werden. Hierbei geben sie ihren Usernamen und ihr Passwort erneut ein. Sp\u00e4tere \u00c4nderungen werden synchronisiert.</p> <pre><code>sudo smbpasswd -a USERNAME\n</code></pre> <p>Nun k\u00f6nnen Sie von einem beliebigen Client auf diese Freigabe zugreifen:</p> <p>Windows:</p> <p>Explorer \u00f6ffnen und in der Adresszeile:</p> <pre><code>\\\\IP des Servers\\Musik\n</code></pre> <p>eingeben oder direkt ein Netzlaufwerk verbinden</p> <p>Linux und OSX:</p> <p>Im Dateimanager in die Adresszeile:</p> <pre><code>smb://IP des Servers/Musik\n</code></pre>"},{"location":"basics/Windows-Freigabe%20mit%20Samba/#beispiel-eingeschrankte-freigabe-zb-unterlagen-fur-bestimmten-personenkreis","title":"Beispiel eingeschr\u00e4nkte Freigabe z.B. Unterlagen f\u00fcr bestimmten Personenkreis.","text":"<p>Im Vorfeld solcher Freigaben m\u00fcssen die betreffenden Benutzer zum einen auf dem System vorhanden sein und auch noch erg\u00e4nzend in Samba bekannt gemacht werden. Dazu legen wir nun 2 neue Nutzer an, um sp\u00e4ter nachvollziehen zu k\u00f6nnen wer was darf. Dazu als Beispiel Hans Wurst aus der Produktion und Peter Lustig aus der Verwaltung.</p> <p>Im folgenden werden Zugriffsgruppen definiert welche es erm\u00f6glichen die Lese- und Schreibrechte sauber Granuliert darzustellen:</p> Lesen Angebote Schreiben Angebote Lesen Lieferscheine Schreiben Lieferscheine Hans Wurst X X Peter Lustig X X <pre><code>sudo adduser hwurst \nsudo adduser plustig\nsudo addgroup angebote_l\nsudo addgroup angebote_ae\nsudo addgrouo lieferscheine_l\nsudo addgroup lieferscheine_ae\nsudo usermod -aG angebote_l hwurst\nsudo usermod -aG lieferscheine_ae hwurst\nsudo usermod -aG angebote_ae plustig\nsudo usermod -aG lieferscheine_ae plustig\n</code></pre> <p>Bekanntgabe an Samba:</p> <pre><code>sudo smbpasswd -a hwurst\nsudo smbpasswd -a plustig\n</code></pre> <p>Erstellen der Verzeichnisse:</p> <pre><code>sudo mkdir /srv/samba/angebote\nsudo mkdir /srv/samba/lieferscheine\nsudo chown -R nobody:angebote_ae /srv/samba/angebote\nsudo chown -R nobody:lieferscheine_ae /srv/samba/lieferscheine\nsudo chmod -R 0077 /srv/samba/angebote\nsudo chmod -R 0077 /srv/samba/lieferscheine\nsudo nano /etc/samba/smb.conf\n</code></pre> <pre><code>[Angebote]\ncomment = Angebote an Kunden\npath = /srv/samba/angebote\nguest ok = no\nbrowseable = yes\nreadonly = yes\nvalid users = @angebote_l, @angebote_ae\nwrite list = @angebote_ae\nforce create mode = 0775\nforce directory mask = 0775\nforce group = angebote_ae\n\n[Lieferscheine]\ncopy = Angebote\ncomment = Lieferscheine von Lieferanten\npath = /srv/samba/lieferscheine\nvalid users = @lieferscheine_l, @lieferscheine_ae\nwrite list = @lieferscheine_ae\nforce group = lieferscheine_ae\n</code></pre>"},{"location":"basics/Windows-Freigabe%20mit%20Samba/#userverzeichnis","title":"Userverzeichnis","text":"<p>Jeder User der Zugriffsrechte auf Samba selbst hat kann durch eine spezielle Freigabe automatisch Zugriff auf sein eigenes Home-Verzeichnis erhalten. Diese ist in der Beispielkonfiguration der smb.conf bereits auskommentiert vorhanden und kann schlicht wieder ein kommentiert werden.</p> <pre><code>[homes]\ncomment = Privates Verzeichnis\nbrowseable = no\nread only = yes\ncreate mask = 0700\ndirectory mask = 0700\nvalid users = %S\n</code></pre> <p>\u201ehomes\" ist hier nur ein Platzhalter dieser wird automatisch durch den jeweiligen Usernamen ersetzt und auch der Zugriff ist dann nur f\u00fcr diesen User verf\u00fcgbar.</p>"},{"location":"basics/Windows-Freigabe%20mit%20Samba/#sonderfall-drucker","title":"Sonderfall Drucker","text":"<p>F\u00fcr Drucker ist standartm\u00e4\u00dfig eine Freigabe aktiviert \u00e4hnlich wie dies auch Windows in einem Heimnetzwerk tut. Die Konfiguration k\u00f6nnen Sie der Beispielkonfiguration der smb.conf entnehmen es sind 2 Freigaben notwendig, um ALLE Drucker freizugeben.</p> <pre><code>[printers]\ncomment = Alle Drucker\nbrowseable = no\npath = /var/spool/samba\nprintable = yes\nguest ok = no\nread only = yes\ncreate mask = 0700\n</code></pre> <p>Damit werden Alle Drucker, die am System eingerichtet sind mit jeweils einem eigenen Eintrag freigegeben.</p> <pre><code>[print$]\ncomment = Drucker Treiber\npath /var/lib/samba/printers\nbrowseable = yes\nread only = yes\nguest ok = no\n</code></pre> <p>Hier sucht Windows nach Druckertreibern. Die Treiber m\u00fcssen entweder \u00fcber andere Wege in dieses Verzeichnis gelegt werden oder es kann auch ein write list Eintrag hinzugef\u00fcgt werden.</p>"},{"location":"basics/Windows-Freigabe%20mit%20Samba/#netzwerkpapierkorb","title":"Netzwerkpapierkorb","text":"<p>Auf einem Netzlaufwerk gel\u00f6schte Dateien k\u00f6nnen schnell mal verloren gehen, daf\u00fcr l\u00e4sst sich ein Netzwerkpapierkorb einsetzen. Entweder unter global f\u00fcr alle Freigaben oder pro Freigabe einmal einsetzen.</p> <pre><code># Virtuelles File System \"recycle\" wird angelegt\nvfs object = recycle\n# Der Pfad zum Papierkorb relativ zur Freigabe (\".recyclebin\" ist\nDefault).\nrecycle:repository = .recyclebin\n# Im Papierkorb bleiben Pfad-Angaben erhalten.\nrecycle:keeptree = Yes\n# Beim Verschieben wird der Zeitstempel angepasst.\nrecycle:touch = Yes\n# Gleichnamige Dateien werden nicht \u00fcberschrieben.\nrecycle:versions = Yes\n# Keine Begrenzung der Dateigr\u00f6\u00dfe pro gel\u00f6schter Datei.\nrecycle:maxsize = 0\n</code></pre> <p>Und wer leert den? Durch Cron wird jeden Tag der Papierkorb durchsucht und alles, was \u00e4lter als 14 Tage ist gel\u00f6scht.</p> <pre><code>sudo crontab -e\n</code></pre> <p>In einer Zeile:</p> <pre><code>0 12 * * * for path in $(grep path /etc/samba/smb.conf | cut -d= -f2 | sed -e 's/ //' -e 's/\\%S/*/'); do if ; then find ${path}/.recycle -mindepth 1 -mtime +14 -exec rm -rf {} \\;; fi; done\n</code></pre> <p>Was steht da nun drin:</p> <p>Jeden Tag um 0:12 soll in der smb.conf nach Pfad-Angaben gesucht werden und innerhalb dieser die Pfade \u201e.recycle\" nach Dateien durchsucht werden die \u00e4lter als 14 Tage sind. Diese werden gel\u00f6scht.</p> <p>PDF herunterladen</p>"}]} |