Kann man auf einer Sambafreigabe auch Domänencomputerkonten als zugriffsberechtigt eintragen?
...Expertenfrage...
Moin Kollegen.
hier kommt gerade die Frage auf, ob/wie man auf einem Sambashare (Samba:letzte Version, Domäne: 2008, zugreifendes System: 2008 r2) denn Domänencomputer (das Systemkonto) als zugriffsberechtigt eintragen kann. Mit
geht es für Nutzer, aber sowohl
als auch
liefern nur invalid user: `rechnernamedomäne:domänen-benutzer@domäne
Hingegen mit escape-Character
wird der Rechnername zwar eingetragen, aber es ist kein Zugriff mit dem Computerkonto möglich. Letzteres wurde getestet von dem eingetragenen Rechner aus über eine Shell, die per psexec -s -i cmd mit Systemrechten gestartet wurde.
Windows kann das, Samba nicht?
Moin Kollegen.
hier kommt gerade die Frage auf, ob/wie man auf einem Sambashare (Samba:letzte Version, Domäne: 2008, zugreifendes System: 2008 r2) denn Domänencomputer (das Systemkonto) als zugriffsberechtigt eintragen kann. Mit
chown nutzer@domäne:domänen-benutzer@domäne Zieldatei
chown rechnername$@domäne:domänen-benutzer@domäne Zieldatei
chown rechnername$@domäne:domänen-computer@domäne Zieldatei
liefern nur invalid user: `rechnernamedomäne:domänen-benutzer@domäne
Hingegen mit escape-Character
chown rechnername\$@domäne:domänen-benutzer@domäne Zieldatei
Windows kann das, Samba nicht?
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 182266
Url: https://administrator.de/contentid/182266
Ausgedruckt am: 25.11.2024 um 18:11 Uhr
13 Kommentare
Neuester Kommentar
Kann Samba auch - hoffe das führt dich auf die richtige Spur:
http://www.dekart.com/howto/howto_logon/howto_logon_samba/trust_account ...
http://www.tecchannel.de/storage/nas/402321/linux_als_pdc_mit_samba_3/i ...
http://www.dekart.com/howto/howto_logon/howto_logon_samba/trust_account ...
http://www.tecchannel.de/storage/nas/402321/linux_als_pdc_mit_samba_3/i ...
Hi DerWoWusste,
Zu deiner Frage "Kann man auf einer Sambafreigabe auch Domänencomputerkonten als zugriffsberechtigt eintragen?"
eines vorweg: Ich habe einen Samba-DC und einen Windows-Client (pcstation). Entspricht also nicht deiner Umgebung,
aber du kannst ja versuchen, ob das Anlegen eines Computer-Kontos so bei dir funktioniert. Also . . .
. . . um diesen Client in die Samba-Domäne aufzunehmen, habe ich eine Computer-Gruppe erstellt (wclients).
Der Eintrag in der Datei /etc/group sollte dann so aussehen:
wclients:x:1001:
Anschließend wird der Computer wie ein "normaler" Benutzer angelegt, aber mit $-Zeichen am Ende.
Zum zweiten muß das Computer-Konto in der Passwort-Datei des Samba-Servers eingetragen werden.
Beides erledige ich mit dem Script pcadd. Das $-Zeichen muß hierbei im Script maskiert werden.
Inhalt der Datei pcadd:
Aufruf: pcadd pcstation
Erklärung der Parameter . . .
. . . beim Befehl useradd:
- g : Zu dieser Gruppe gehört der Computer
- d : Der Computer hat kein Home-Verzeichnis
- s : Der Computer hat keine Shell
- c : Kommentar
- $1 : Ist der Computername, der beim Aufruf des Scripts übergeben wird
- \$ : Computerkonten enden mit einem $-Zeichen, damit Linux "weiss", dass es sich um ein Computer-Konto handelt.
. . . beim Befehl smbpasswd:
- a : hinzufügen
- m : Es handelt sich um ein Computer-Konto
- $1 : Ist der Computername, der beim Aufruf des Scripts übergeben wird
- \$ : Computerkonten enden mit einem $-Zeichen, damit Samba "weiss", dass es sich um ein Computer-Konto handelt.
Nach Aufruf pcadd pcstation ist in der Datei /etc/passwd folgender Eintrag vorhanden:
pcstation$:x:1001:1001:NT-Computer:/dev/null:/bin/false
Nun zu deinen Fragen:
zu 3.: Ist beantwortet. Dürfte aber für dein Vorhaben nicht relevant sein, wie du schon selber erkannt hast.
Zu 1. + 2.:
Wenn ich, wie du es versucht hast, chown auf eine Datei anwende, und als Besitzer ein Computerkonto angebe, kann ich die Datei nicht mehr öffnen,
obwohl ich ja mit dem benannten Computer darauf zugreife und mein Zugriff über den Sambaserver auf die Freigabe erlaubt ist. Was ja auch logisch und
bei Windows IMHO auch nicht anders ist: Rechte im Dateisystem gehen vor Rechte in einer Freigabe. Korrigiere mich, wenn ich irre: Ich gebe ein Verzeichnis
frei (zugänglich für alle) auf Dateisystemebene und entscheide dann bei der Freigabe explizit, wer Zugriff hat und wer nicht.
Und nebenbei: Linux ist kein Serversystem. Die Serversysteme, die Dateien/Verzeichnisse als Datenserver im Netz zur Verfügung stellen, sind NIS oder Samba.
Nun zum Zugriff von Computern auf eine Freigabe über Samba.
In der Datei smb.conf kannst du den Zugriff von Computern, Netzen, Teilnetzen auf Freigaben über zwei Parameter steuern:
- hosts allow =
- hosts deny =
Hierbei stehen dir etliche Variationen offen, Zugriffe zu gewähren oder zu verbieten.
Beispiel 1, der Zugriff eines PC's:
- hosts allow = 192.168.179.40/24
- hosts deny = ALL
Beispiel 2, Zugriff eines Netz:
- hosts allow = 192.168.179.0/24
- hosts deny = ALL
Beispiel 3, Kein Zugriff eines Rechners:
- hosts allow =
- hosts deny = 192.168.179.40/24
Zu beachten ist aber die Reihenfolge allow, deny.
allow ist erlaubt.
deny schließt alles aus, was in allow nicht enthalten ist.
Folgendes Beispiel funktioniert deshalb nicht:
- hosts allow = 192.168.179.40/24
- hosts deny = 192.168.179.40/24
Hier hat der Host trotzdem Zugriff, obwohl es ihm verbietet wurde.
Hoffe, ich konnte dir weiter helfen
Gruß
Günni
Zu deiner Frage "Kann man auf einer Sambafreigabe auch Domänencomputerkonten als zugriffsberechtigt eintragen?"
eines vorweg: Ich habe einen Samba-DC und einen Windows-Client (pcstation). Entspricht also nicht deiner Umgebung,
aber du kannst ja versuchen, ob das Anlegen eines Computer-Kontos so bei dir funktioniert. Also . . .
. . . um diesen Client in die Samba-Domäne aufzunehmen, habe ich eine Computer-Gruppe erstellt (wclients).
Der Eintrag in der Datei /etc/group sollte dann so aussehen:
wclients:x:1001:
Anschließend wird der Computer wie ein "normaler" Benutzer angelegt, aber mit $-Zeichen am Ende.
Zum zweiten muß das Computer-Konto in der Passwort-Datei des Samba-Servers eingetragen werden.
Beides erledige ich mit dem Script pcadd. Das $-Zeichen muß hierbei im Script maskiert werden.
Inhalt der Datei pcadd:
#!/bin/bash
useradd -g wclients -d /dev/null -s /bin/false -c "NT-Computer" $1\$
smbpasswd -a -m $1\$
Aufruf: pcadd pcstation
Erklärung der Parameter . . .
. . . beim Befehl useradd:
- g : Zu dieser Gruppe gehört der Computer
- d : Der Computer hat kein Home-Verzeichnis
- s : Der Computer hat keine Shell
- c : Kommentar
- $1 : Ist der Computername, der beim Aufruf des Scripts übergeben wird
- \$ : Computerkonten enden mit einem $-Zeichen, damit Linux "weiss", dass es sich um ein Computer-Konto handelt.
. . . beim Befehl smbpasswd:
- a : hinzufügen
- m : Es handelt sich um ein Computer-Konto
- $1 : Ist der Computername, der beim Aufruf des Scripts übergeben wird
- \$ : Computerkonten enden mit einem $-Zeichen, damit Samba "weiss", dass es sich um ein Computer-Konto handelt.
Nach Aufruf pcadd pcstation ist in der Datei /etc/passwd folgender Eintrag vorhanden:
pcstation$:x:1001:1001:NT-Computer:/dev/null:/bin/false
Nun zu deinen Fragen:
1. Frage im Titel: "Kann man auf einer Sambafreigabe auch Domänencomputerkonten als zugriffsberechtigt eintragen?"
2. Frage im Kommentar: "Kann man denn am Server mit dieser Freigabe ebenso Machine-Accounts anlegen?"
3. Nächste Frage im Kommentar: "Meine Frage zielt also darauf ab, wie man Domänencomputerkonten "richtig" einträgt bzw. ob das überhaupt geht."
2. Frage im Kommentar: "Kann man denn am Server mit dieser Freigabe ebenso Machine-Accounts anlegen?"
3. Nächste Frage im Kommentar: "Meine Frage zielt also darauf ab, wie man Domänencomputerkonten "richtig" einträgt bzw. ob das überhaupt geht."
zu 3.: Ist beantwortet. Dürfte aber für dein Vorhaben nicht relevant sein, wie du schon selber erkannt hast.
Zu 1. + 2.:
Wenn ich, wie du es versucht hast, chown auf eine Datei anwende, und als Besitzer ein Computerkonto angebe, kann ich die Datei nicht mehr öffnen,
obwohl ich ja mit dem benannten Computer darauf zugreife und mein Zugriff über den Sambaserver auf die Freigabe erlaubt ist. Was ja auch logisch und
bei Windows IMHO auch nicht anders ist: Rechte im Dateisystem gehen vor Rechte in einer Freigabe. Korrigiere mich, wenn ich irre: Ich gebe ein Verzeichnis
frei (zugänglich für alle) auf Dateisystemebene und entscheide dann bei der Freigabe explizit, wer Zugriff hat und wer nicht.
Und nebenbei: Linux ist kein Serversystem. Die Serversysteme, die Dateien/Verzeichnisse als Datenserver im Netz zur Verfügung stellen, sind NIS oder Samba.
Nun zum Zugriff von Computern auf eine Freigabe über Samba.
In der Datei smb.conf kannst du den Zugriff von Computern, Netzen, Teilnetzen auf Freigaben über zwei Parameter steuern:
- hosts allow =
- hosts deny =
Hierbei stehen dir etliche Variationen offen, Zugriffe zu gewähren oder zu verbieten.
Beispiel 1, der Zugriff eines PC's:
- hosts allow = 192.168.179.40/24
- hosts deny = ALL
Beispiel 2, Zugriff eines Netz:
- hosts allow = 192.168.179.0/24
- hosts deny = ALL
Beispiel 3, Kein Zugriff eines Rechners:
- hosts allow =
- hosts deny = 192.168.179.40/24
Zu beachten ist aber die Reihenfolge allow, deny.
allow ist erlaubt.
deny schließt alles aus, was in allow nicht enthalten ist.
Folgendes Beispiel funktioniert deshalb nicht:
- hosts allow = 192.168.179.40/24
- hosts deny = 192.168.179.40/24
Hier hat der Host trotzdem Zugriff, obwohl es ihm verbietet wurde.
Hoffe, ich konnte dir weiter helfen
Gruß
Günni
Hi DerWoWusste,
das Kennwort ändert der Samba-DC selber. Du kannst über einen Parameter die Zeitperiode (in Sekunden) festlegen.
Betreffender Teil aus der Samba-Hilfe (SWAT) zu Domänenmitgliedschaft:
machine password timeout (G)
If a Samba server is a member of a Windows NT Domain (see the security = domain parameter),
then periodically a running smbd process will try and change the MACHINE ACCOUNT PASSWORD stored in the TDB called private/secrets.tdb.
This parameter specifies how often this password will be changed, in seconds.
The default is one week (expressed in seconds), the same as a Windows NT Domain member server.
See also smbpasswd(8), and the security = domain parameter.
Default: machine password timeout = 604800
Noch ein Artikel:
8.5.2 machine password timeout
Die globale Option machine password timeout legt eine Speicherungsperiode für NT-Domain-Maschinen-Passwörter fest.
Die Vorgabe ist momentan auf dieselbe Zeitspanne gesetzt, die Windows NT 4.0 verwendet: 604.800 Sekunden (eine Woche).
Samba versucht periodisch, das machine account password zu wechseln, welches ein Passwort darstellt, das besonders von einem anderen Server verwendet wird,
um ihm Änderungen zu melden. Diese Option bestimmt die Anzahl Sekunden, die Samba warten sollte, bevor es versucht dieses Passwort zu ändern.
Das folgende Beispiel ändert sie zu einem einzigen Tag, indem Folgendes festgelegt wird:
[global]
machine password timeout = 86400
Hier gefunden --> http://lug.krems.cc/docu/samba/ch08_05.html
Such' mal nach "machine password timeout", da gibt's jede Menge zu lesen.
Ist es das, was du meinst??
Gruß
Günni
PS.: . . . Wird das in Deinem Setup überhaupt auf dem Samba-DC jemals geändert? . . .
Gute Frage, ich wusste gar nicht, dass Passworte für Computer-Konten überhaupt geändert werden.
Aber ich denke nicht, mein Samba-DC ist ja kein Mitglied einer Windows-Domäne.
das Kennwort ändert der Samba-DC selber. Du kannst über einen Parameter die Zeitperiode (in Sekunden) festlegen.
Betreffender Teil aus der Samba-Hilfe (SWAT) zu Domänenmitgliedschaft:
machine password timeout (G)
If a Samba server is a member of a Windows NT Domain (see the security = domain parameter),
then periodically a running smbd process will try and change the MACHINE ACCOUNT PASSWORD stored in the TDB called private/secrets.tdb.
This parameter specifies how often this password will be changed, in seconds.
The default is one week (expressed in seconds), the same as a Windows NT Domain member server.
See also smbpasswd(8), and the security = domain parameter.
Default: machine password timeout = 604800
Noch ein Artikel:
8.5.2 machine password timeout
Die globale Option machine password timeout legt eine Speicherungsperiode für NT-Domain-Maschinen-Passwörter fest.
Die Vorgabe ist momentan auf dieselbe Zeitspanne gesetzt, die Windows NT 4.0 verwendet: 604.800 Sekunden (eine Woche).
Samba versucht periodisch, das machine account password zu wechseln, welches ein Passwort darstellt, das besonders von einem anderen Server verwendet wird,
um ihm Änderungen zu melden. Diese Option bestimmt die Anzahl Sekunden, die Samba warten sollte, bevor es versucht dieses Passwort zu ändern.
Das folgende Beispiel ändert sie zu einem einzigen Tag, indem Folgendes festgelegt wird:
[global]
machine password timeout = 86400
Hier gefunden --> http://lug.krems.cc/docu/samba/ch08_05.html
Such' mal nach "machine password timeout", da gibt's jede Menge zu lesen.
Ist es das, was du meinst??
Gruß
Günni
PS.: . . . Wird das in Deinem Setup überhaupt auf dem Samba-DC jemals geändert? . . .
Gute Frage, ich wusste gar nicht, dass Passworte für Computer-Konten überhaupt geändert werden.
Aber ich denke nicht, mein Samba-DC ist ja kein Mitglied einer Windows-Domäne.
Hi DerWoWusste,
du hast einen Samba-Server, der nur nicht als DC eingerichtet ist. Trotzdem ist Samba ein Server-System.
Und wenn dieser Server Mitglied einer Windowsdomäne ist, dann denke ich, dass der Passwortabgleich mit
einer Windows-Domäne funktioniert. Vorausgesetzt, der Server ist richtig eingebunden und konfiguriert.
Ansonsten würde man bestimmt Gegenteiliges von einschlägigen Foren oder Autoren zu lesen bekommen, die sich drauf spezialisiert haben,
jede Neuerung (z.B. die Einführung des Parameters machine password timeout ) sofort auf Herz und Nieren zu prüfen.
Deinen Einwand, . . .
. . . halte ich, sorry vielmals, für haltlos. Es gibt mit Sicherheit viele Umgebungen, die so konfiguriert sind,
dass nur bestimmte Computer-Konten auf bestimmte Freigaben zugreifen dürfen. Und das ist mit Samba durchaus möglich.
Wenn du damit auf deinen Versuch, mit chown . . . ein Computer-Konto zum Besitzer von Verzeichnissen und Dateien zu machen, anspielst,
hast du recht. Das funktioniert auch so nicht. Es sei denn, du würdest einen Benutzer in die Gruppe der Computer-Konten aufnehmen, bzw.
eine Gruppe mit Benutzern den Verzeichnissen und Dateien hinzufügen.
Dann kann dieser Benutzer aber auch von jedem anderen Rechner wieder auf diese Verzeichnisse/Dateien zugreifen, weil er zu dieser Gruppe gehört.
Das ist aber kein Bug, sondern einfach nur der falsche Weg. Samba/Linux sind eben nicht Windows und werden deshalb auch anders konfiguriert bzw. eingestellt.
Du solltest dich also nicht darauf versteifen "Unter Windows mach ich das so . . . ", also muß das unter Samba/Linux genauso gehen. Das Ziel ist der Weg.
Gruß
Günni
du hast einen Samba-Server, der nur nicht als DC eingerichtet ist. Trotzdem ist Samba ein Server-System.
Und wenn dieser Server Mitglied einer Windowsdomäne ist, dann denke ich, dass der Passwortabgleich mit
einer Windows-Domäne funktioniert. Vorausgesetzt, der Server ist richtig eingebunden und konfiguriert.
Ansonsten würde man bestimmt Gegenteiliges von einschlägigen Foren oder Autoren zu lesen bekommen, die sich drauf spezialisiert haben,
jede Neuerung (z.B. die Einführung des Parameters machine password timeout ) sofort auf Herz und Nieren zu prüfen.
Deinen Einwand, . . .
weil wenige KLeute Systemkonten via Netzwerk auf Samba-Memberserver zugreifen lassen. . . .",
. . . halte ich, sorry vielmals, für haltlos. Es gibt mit Sicherheit viele Umgebungen, die so konfiguriert sind,
dass nur bestimmte Computer-Konten auf bestimmte Freigaben zugreifen dürfen. Und das ist mit Samba durchaus möglich.
Ich bin mir ziemlich sicher, dass wir den einzigen Weg nutzen, der möglich sein sollte, aber dieser funktioniert leider nicht.
Vermutlich ein Bug, der niemandem auffällt, . . .
Vermutlich ein Bug, der niemandem auffällt, . . .
Wenn du damit auf deinen Versuch, mit chown . . . ein Computer-Konto zum Besitzer von Verzeichnissen und Dateien zu machen, anspielst,
hast du recht. Das funktioniert auch so nicht. Es sei denn, du würdest einen Benutzer in die Gruppe der Computer-Konten aufnehmen, bzw.
eine Gruppe mit Benutzern den Verzeichnissen und Dateien hinzufügen.
Dann kann dieser Benutzer aber auch von jedem anderen Rechner wieder auf diese Verzeichnisse/Dateien zugreifen, weil er zu dieser Gruppe gehört.
Das ist aber kein Bug, sondern einfach nur der falsche Weg. Samba/Linux sind eben nicht Windows und werden deshalb auch anders konfiguriert bzw. eingestellt.
Du solltest dich also nicht darauf versteifen "Unter Windows mach ich das so . . . ", also muß das unter Samba/Linux genauso gehen. Das Ziel ist der Weg.
Gruß
Günni