{"id":2475,"date":"2025-03-12T08:00:00","date_gmt":"2025-03-12T07:00:00","guid":{"rendered":"https:\/\/www.fuhselab.de\/?p=2475"},"modified":"2025-02-28T07:24:14","modified_gmt":"2025-02-28T06:24:14","slug":"shellskripte-5","status":"publish","type":"post","link":"https:\/\/www.fuhselab.de\/index.php\/2025\/03\/12\/shellskripte-5\/","title":{"rendered":"Shellskripte 5"},"content":{"rendered":"\n<p><br>In diesem Artikel wird etwas mit der Benutzerdatenbank experimentiert\u2026<\/p>\n\n\n\n<!--more-->\n\n\n\n<p><strong>Experimente mit der Benutzerdatenbank:<\/strong><\/p>\n\n\n\n<p>In der Datei \u201cetc\/passwd\u201c sind die Informationen zu den Benutzern abgelegt. Mit folgenden zwei Befehlen k\u00f6nnen diese Infos auch bequem im Terminal abgerufen werden.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>cat \/etc\/passwd<\/li>\n\n\n\n<li>cat \/etc\/passwd | grep BENUTZER<\/li>\n<\/ul>\n\n\n\n<p>Der zweite Befehl (entsprechend angepasst mit dem echten Benutzermnamen ) zeigt dann auch nur die Infos zu dem jeweiligen Benutzer. Nat\u00fcrlich kann man daraus jetzt auch ein Shellskript machen:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>#!\/bin\/bash\ncat \/etc\/passwd | grep BENUTZER<\/code><\/pre>\n\n\n\n<p><br>Bis hier ist das alles noch nicht wirklich spaktakul\u00e4r. Vielleicht wird es spannender, wenn wir auch die Gruppen ausgeben\u2026<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>#!\/bin\/bash\ncat \/etc\/passwd | grep BENUTZER\ncat \/etc\/group | grep BENUTZER<\/code><\/pre>\n\n\n\n<p>Im Terminal wird nun die Zeile des jeweiligen Benutzers aus der etc\/passwd-Datei angezeigt und die Eintr\u00e4ge aus etc\/group die dem Benutzer zugeordnet sind. Ich lege jetzt den Benutzer \u201chans\u201c an und f\u00fcge ihn dann meiner eigenen Gruppe zu.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>sudo adduser hans<\/li>\n\n\n\n<li>sudo adduser hans GRUPPE<\/li>\n<\/ul>\n\n\n\n<p>Mit jedem Benutzer existiert ja auch eine Gruppe mit gleichem Namen. Es gibt jetzt also sowohl den Benutzer \u201chans\u201c als auch die Gruppe \u201chans\u201c. F\u00fcr meine Testumgebung sieht das Ergebnis f\u00fcr etc\/passwd so aus:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>user01:x:1000:1000:user01,,,:\/home\/user01:\/bin\/bash<\/li>\n<\/ul>\n\n\n\n<p><strong>Die Datei etc\/passwd:<\/strong><\/p>\n\n\n\n<p>Es wird jetzt Zeit sich den Aufbau dieser Datei anzuschauen\u2026 Die Doppelpunkte fungieren als Spaltentrenner und die Spalten zeigen von links nach rechts\u2026<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Benutzer:Passwort:UID:GID:Benutzername:Homeverzeichnis:Shell<\/li>\n<\/ul>\n\n\n\n<p><strong>Die Datei etc\/group:<\/strong><\/p>\n\n\n\n<p>Die Doppelpunkte fungieren als Spaltentrenner und die Spalten zeigen von links nach rechts\u2026<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Gruppenname:Passwort:GID:Mitgliederliste<\/li>\n<\/ul>\n\n\n\n<p>Wer ist in der Gruppe? Wenn ich das wissen m\u00f6chte kann folgender Befehl genutzt werden:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>cat \/etc\/group | grep GRUPPE<\/li>\n<\/ul>\n\n\n\n<p>In der Mitgliederliste wird aber leider der eigene Benutzer nicht angezeigt, sondern immer nur die anderen Benutzer die auch noch in dieser Gruppe sind! Nat\u00fcrlich kann man auch diesen Terminalbefehl in ein Shellskript einbauen.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>#!\/bin\/bash\ncat \/etc\/passwd | grep BENUTZER\ncat \/etc\/group | grep BENUTZER<\/code><\/pre>\n\n\n\n<p><br>Per Terminal soll der Benutzer interaktiv abgefragt werden, statt immer die Anpassung direkt im Shellskript vozunehmen. Das folgende Shellskript erledigt den Job:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>#!\/bin\/bash\necho \"Bitte geben Sie den gewuenschten Nutzernamen ein: \"\nread username\necho \"\/etc\/passwd Eintrag:\"\ngrep $username \/etc\/passwd\necho \"\/etc\/group Eintrag:\"\ngrep $username \/etc\/group<\/code><\/pre>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>In diesem Artikel wird etwas mit der Benutzerdatenbank experimentiert\u2026<\/p>\n","protected":false},"author":1,"featured_media":791,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3],"tags":[21],"class_list":["post-2475","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-linux","tag-linux-gruppe-peine"],"_links":{"self":[{"href":"https:\/\/www.fuhselab.de\/index.php\/wp-json\/wp\/v2\/posts\/2475","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.fuhselab.de\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.fuhselab.de\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.fuhselab.de\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.fuhselab.de\/index.php\/wp-json\/wp\/v2\/comments?post=2475"}],"version-history":[{"count":2,"href":"https:\/\/www.fuhselab.de\/index.php\/wp-json\/wp\/v2\/posts\/2475\/revisions"}],"predecessor-version":[{"id":2506,"href":"https:\/\/www.fuhselab.de\/index.php\/wp-json\/wp\/v2\/posts\/2475\/revisions\/2506"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.fuhselab.de\/index.php\/wp-json\/wp\/v2\/media\/791"}],"wp:attachment":[{"href":"https:\/\/www.fuhselab.de\/index.php\/wp-json\/wp\/v2\/media?parent=2475"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.fuhselab.de\/index.php\/wp-json\/wp\/v2\/categories?post=2475"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.fuhselab.de\/index.php\/wp-json\/wp\/v2\/tags?post=2475"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}