Shares für Benutzer in einem Ordner

  • Ab sofort steht euch hier im Forum die neue Add-on Verwaltung zur Verfügung – eine zentrale Plattform für alles rund um Erweiterungen und Add-ons für den DSM.

    Damit haben wir einen Ort, an dem Lösungen von Nutzern mit der Community geteilt werden können. Über die Team Funktion können Projekte auch gemeinsam gepflegt werden.

    Was die Add-on Verwaltung kann und wie es funktioniert findet Ihr hier

    Hier geht es zu den Add-ons

Status
Für weitere Antworten geschlossen.

fmeyer84

Benutzer
Registriert
30. Aug. 2008
Beiträge
92
Reaktionspunkte
0
Punkte
0
Hallo,

ich habe bei mir 3 Nutzer:

-admin (ich)
-user1
-user2

Nun will ich folgendes erreichen mit den jeweiligen Shares für die Benutzer:

1. Jeder Nutzer kriegt sein eigenes "home"-Verzeichnis (ist ja kein Problem)
2. Dieses "home"-Verzeichnis soll in /volume1/home liegen (geht ja mit dem DSM nicht)
3. Jeder normale Nutzer soll nur sein Laufwerk sehen
4. Ich als Admin will am liebsten nur /volume1 als Netzlaufwerk in Windows/Linux, damit ich alles über ein laufwerk steuern kann.

Ist das möglich?

Grüße,
Fabian
 
Mach dir doch das Leben nicht so schwer...

User1: /volume1/home_user1
User2: /volume1/home_user2

Und für dich machen wir eine neue Share /volume1/home_admin

und du machst einen mount --bind /volume1 /volume1/home_admin

Du musst nur daran denken, dass du den mount beim Backup deiner Share wieder löst, sonst sicherst irgendwie rekursiv :rolleyes:

(am besten zu schreibst den mount in die Datei /etc/rc.local, dann wird er immer beim Systemstart ausgeführt)

Hierarchien sind nett, wenn man sie abschafft :D

itari
 
Hallo,

habs jetzt so gelöst:

Benutzer erstellt, Ordner per Shell erstellt (volume1/home/user), smb.conf per Hand diesen Ordner zum Share eingetragen, Berechtigungen geändert per DSM, samba neu gestartet, alles läuft so wie ich's wollte.

Und als Admin einfach auch das Share /volume1 per Hand in die smb.conf.

Grüße,
Fabian
 
@fmeyer
Folgender Eintrag in der smb.conf gibt das Homeverzeichnis des jeweiligen Users als Share frei
Code:
[homes]
      path=/volume1/homes/%S
      browsable = no
      guest ok = no
      valid users = %S
      writeable = yes
      write list = %S
2. Dieses "home"-Verzeichnis soll in /volume1/home liegen (geht ja mit dem DSM nicht)
Nicht vergessen das Homeverzeichnis des jeweiligen Users in /etc/passwd einzutragen
4. Ich als Admin will am liebsten nur /volume1 als Netzlaufwerk in Windows/Linux, damit ich alles über ein laufwerk steuern kann.
Lesend wird das als Admin bei den meisten Files klappen. Auf viele der Systemfiles wirst du aber keinen Zugriff erhalten, weil zusätzlich zur Berechtigung in Samba auch die Berechtigungen des Filesystems hineinspielen. Du kannst dem Admin nahezu Root Rechte (zumindest lesend) geben indem du den Admin der Gruppe root hinzufügst.
 
Hallo,

jahlives;18679 Lesend wird das als [B schrieb:
Admin[/B] bei den meisten Files klappen. Auf viele der Systemfiles wirst du aber keinen Zugriff erhalten, weil zusätzlich zur Berechtigung in Samba auch die Berechtigungen des Filesystems hineinspielen. Du kannst dem Admin nahezu Root Rechte (zumindest lesend) geben indem du den Admin der Gruppe root hinzufügst.

danke für den Tipp. Werde das nachher mal ausprobieren, im Moment läufts zwar auch so mit meiner Lösung, aber vllt gehts ja auch mit deiner.

Auf die Systemfiles will ich ja garnich per Netzlaufwerk zugreifen, im /volume1 Ordner liegen bei mir dann eh nur Files zum Datenaustausch.

Grüße,
Fabian
 
Hallo,

wozu müssen die Homedirs in die /etc/passwd?

Grüße,
Fabian
 
Hallo,

nachdem ich die Homedirs jetzt eingetragen habe, kann ich nich mehr per SSH oder telnet auf meine DS... Wie krieg ich das wieder hin?

LG
 
Hallo,

nachdem ich die Homedirs jetzt eingetragen habe, kann ich nich mehr per SSH oder telnet auf meine DS... Wie krieg ich das wieder hin?

LG
Mit welchem Benutzer klappt es nicht mehr? Geht root noch? Da hast du wohl einen Fehler beim Eintragen der Homedirs gemacht (hoffentlich hast du root nicht verändert)
 
Hallo,

es klappt mit allen Nutzern nicht, immer kommt Access Denied. Bei root hab ich garnix geändert... Das ist ja das lustige...

LG
 
Hallo,

es klappt mit allen Nutzern nicht, immer kommt Access Denied. Bei root hab ich garnix geändert... Das ist ja das lustige...

LG
Oh oh dann ist der Eintrag in /etc/passwd so falsch, dass die DS nicht mehr weiter weiss. Wie hast du denn den Eintrag gemacht und was hast du eingetragen? Du hast schon gesehen, dass bei jedem User bereits ein Homeverzeichnis steht, welches angepasst werden müsste?
 
Hallo,

ich habe nur bei einem User geschrieben /volume1/home/user

vorher stand da: /noexist

GRüße,
Fabian
 
Hast du den ersten oder zweiten Pfad angepasst?
Code:
root:x:0:0:root:[B]/root[/B]:[B]/bin/bash[/B]
Der erste wäre richtig gewesen, der zweite legt die Login Shell von user (in diesem Fall root) fest.
Das wichtigste ist jetzt, dass du noch irgendwie an diese Datei herankommst, um den Fehler zu korrigieren. Hast du ein Linux zu Hause auf einer deiner Kisten? Wenn nein dann eine LiveCD z.B. Knoppix starten. Zuerst aber die Platte aus der DS ausbauen und an den Desktop stöpseln. Nachdem Knoppix (oder das Linux deiner Wahl) gestartet hat suchst du nach der eben angehängten Platte und schaust dir mal die Datei /etc/passwd an. Wenn du ned weiterkommst, dann poste den Inhalt der Datei mal hier im Forum
 
Hallo,

Linux habe ich auf dem Laptop ja, aber ich komme doch nich an die Datei. Und ausbauen bringt nix, weil ich kein 3,5" Gehäuse hab und nur am Laptop arbeiten, daher kann ich die Platte auch nich in den Laptop stecken ;)

EDIT: Hier der Code der /etc/passwd (hatte ich noch auf dem Laptop als Kopie):

Rich (BBCode):
root:x:0:0:root:/root:/bin/ash
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
ftp:x:21:21:Anonymous FTP User:/nonexist:/sbin/nologin
anonymous:x:21:21:Anonymous FTP User:/nonexist:/sbin/nologin
smmsp:x:25:25:Sendmail Submission User:/var/spool/clientmqueue:/sbin/nologin
nobody:x:1023:1023:nobody:/home:/sbin/nologin
admin:x:1024:100:System default user:/volume1/@database:/bin/sh
guest:x:1025:100:Guest:/nonexist:/bin/sh
sebastianm:x:1026:100:Sebastian Meyer:/volume1/home/sebastianm:/sbin/nologin
fabianm:x:1027:100:Fabian Meyer:/volume1/home/fabianm:/sbin/nologin
LG
 
Zuletzt bearbeitet:
@fmeyer
Die Datei so wie du sie gepostet hat liegt genau so auf der DS? Der Eintrag von root schaut eigentlich gut aus. Und deine eigenen Benutzer können sich nicht mit telnet anmelden weil sie keine gültige Anmeldeshell haben.
Also root klappt ned? Und admin mit dem Rootpasswort?
 
Hallo,

also bei mir kann sich keiner anmelden. Nix root, nix admin...

Grüße,
Fabian
 
Und kommst du noch auf das Webinterface?
Hier der Code der /etc/passwd (hatte ich noch auf dem Laptop als Kopie):
Hast du die Datei etwa auf dem Laptop bearbeitet und dann zurückkopiert? Womöglich noch mit Windows? Falls ja dann könnten die Zeilenendzeichen falsch sein und Linux kann nix mehr mit der Datei anfangen.
 
hallo, aufs interface komme ich! Die datei hatte unter windows editiert, ja! Lg
 
Die datei hatte unter windows editiert, ja
Dann hast du jetzt ein grösseres Problem :( Korrigieren kannst du die Datei z.B. mit einem Editor unter Windows der auch Zeilenenden von Unix/Linux unterstützt (Notepad++ sollte das können). Das Problem bleibt wie du diese korrigierte Datei auf die DS kriegst. Denn praktisch alle Serverdienste (z.B. FTP, SMB) stützen sich beim Login auf /etc/passwd
Die einzige Alternative zu einer Neuinstallation der FW sähe ich in einem eigenen pat File (da du schreibst, dass du das Webinterface noch verwenden kannst)
  1. bearbeite die Datei in einem Editor und speichere sie explizit mit Unix-Zeilenenden ab
  2. schau dir den Link zum Thema Pat Files für DS an
  3. erstelle eine Pat Datei, die die passwd Datei in korrigierter Form enthält und den Job hat diese Datei nach /etc/passwd zu kopieren
  4. Lade diese Pat Datei im Webinterface via Firmware Aktualisierung
  5. Bearbeite nie mehr eine Linux Datei unter Windows ;)
Gruss

tobi
 
Hallo,

[*]erstelle eine Pat Datei, die die passwd Datei in korrigierter Form enthält und den Job hat diese Datei nach /etc/passwd zu kopieren

also die .pat Datei zu erstellen mittels tar (ist ja auf der Seite gut beschrieben) krieg ich noch hin, aber wie zum Teufel programmiere ich das update-script so, dass er die Datei nur kopiert? Einfach das normale cp wie man's von der Shell kennt?

[*]Bearbeite nie mehr eine Linux Datei unter Windows ;)[/LIST]Gruss

Hehe, das werd ich sicherlich nich mehr machen... Danke für die super Hilfe.

Grüße,
Fabian
 
5. Bearbeite nie mehr eine Linux Datei unter Windows ;)[/LIST]Gruss

Des ist natürlich großer Quatsch :p

Das fünfte Gebot heißt natürlich richtigerweise:

So sollst einen Editor unter Windows verwenden, der die Dateien mit den richtigen Zeilenenden abspeichert (Phase5, Notepad++, PSPad und wie sie alle heißen)

itari
 
Status
Für weitere Antworten geschlossen.
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat