PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : frage zu smbmount



damogran
02.10.02, 13:42
hossa

ich hab mal ein paar fragen zum thema samba mount
1. ich hab mir xfsamba geholt....dann connecte ich mich (als normaler user übrigens) und möchte es mounten...doch dann sagt er mir das geht ned. mache ich das ganze als root funktioniert es wunderbar (warum?)
2. wie kann ich das in der console mounten? wie lautet der befehl anhand dieses beispiels
rechner heißt guinness (ip ist 122.0.0.4)
user ist root
password ist egal *ggg*
ich hab mit swat folgenden pfad eingerichtet (und der funtzt auch) /try-this/music (und den will ich mounten)
und zwar nach
/home/damogran/music_at_guinness
kann mir da einer helfen?
und schließlich
3. kann ich das in die fstab eintragen? weil der mount point ja nachm booten wieder gelöscht wird.

danke schonmal

mfg

damogran

MrIch
02.10.02, 15:13
1.) root kann alles, du kannst nichts ( als user ) ;)
Es ist unter Linux halt so, dass nur root mounten kann, wenn es in der fstab nicht anders angegeben ist.
2.) mount -t smbfs -o username=tridge,password=foobar //fjall/test /data/test
das sollte dir doch reichen, oder?
3.) //fjall/test /data/test smbfs

micha
02.10.02, 17:23
Hi,

es gibt schon ne Möglichkeit per smbmount als User zu mounten. Dazu muss /usr/bin/smbumount und /usr/sbin/smbmnt setuid-root sein:

chmod 4755 /usr/bin/smbumount
chmod 4755 /usr/sbin/smbmnt

Danach kannst Du als User Samba-Shares mounten:


smbmount //guinness/try-this/music /home/damogran/music_at_guinness -o username=USER,password=PASS

Wenn Du das Ganze automatisch mounten willst, kannst Du z.B. das Script nehmen, dass ich bei mir nutze:



#!/bin/sh

Services=" //SERVER/micha
//SERVER/music
//SERVER/tmp "

Directory="$HOME/network/"

User="USER"
Pass="PASS"

for each in $Services
do
if [ -z "`mount | grep -i $each`" ]
then
MountPoint="${Directory}${each}"
test -d $MountPoint || mkdir -p $MountPoint &>/dev/null
smbmount $each $MountPoint -o username=$User,password=$Pass &>/dev/null
fi
done

exit 0


Ändern musst Du noch die Variable Services entsprechend Deiner Freigaben und eventuell das Verzeichnis ( Directory ) unter dem Du diese gemountet haben willst.
Das Script dann entweder in die ~./bash_profile oder ~/.bashrc oder praktischer ins Autostart-Verzeichnis von KDE ( ~/.kde/Autostart/ ), falls Du KDE nutzt.

Gruß micha

Rebell
04.10.02, 08:19
Hmm.... das ist ja nicht das Wahre - ich hab davon gehört dass es ein Tool gibt, "usermount" oder ähnlich mit dem ein User die Berechtigung bekommt zu mounten. Gerade bei Samba, oder kennt ihr ein Tool was es bereits kann?

damogran
04.10.02, 16:42
hossa

hab jetzt in die fstab folgendes eingetragen

//guinness/try_this /mnt/guinness smbfs

das funtzt sogar....nur das wenn ich boote sagt er mount samba (oder so änlich)

nur das sich da nichts rührt (bedeutet rechner bleibt stehen (bis ich irgendeine taste drücke))
is nervig weil der rechner nichmehr vollständig bootet (von alleine)

kann man da noch was gegen tun?

mfg

damogran

dank für eure hilfe

Christian81
04.10.02, 16:44
Eventuell braucht der Mount-Befehl/ fstab-Eintrag noch einen Username & ein Passwort?

user= , pass= oder credentials= ;)

Rebell
07.10.02, 15:58
Hört mal, ich hab mir mal ein Tool geschrieben (usermount.pl) mit dem man ohne weiteres NFS-Freigaben mounten kann. Aber bei SMB und der Eingabe eines Passworts ist noch ein Problem.

Hier die wichtigsten Schritte für NFS:

1. Auf dem Fileserver - /etc/exports


/home/mreiche/smb *(rw,anonuid=1018)
/smb/public *(rw,anonuid=1018)


Wobei * bedeutet dass der Zugriff von jeder IP aus berechtigt ist.
rw logischerweise Lese- und SChreibzugriff
und anonuid ist meine UserID auf dem Fileserver, somit darf nur mreiche auf mreiche zugreifen.

2. Lokal - /etc/sudoers


users ALL=NOPASSWD: /bin/mount


Also alle in Gruppe users dürfen mount ausführen. Das lässt sich bestimmt auch noch über einen Extra-User regeln in Verbindung mit dem SUID-BIT.

3. Script

In der bash_profile im Homeverzeichnis kann das Script dann ausgeführt werden, hier ein Beispiel.
/home/usermount/usermount.pl nfs 192.168.0.5 /smb/public /home/mreiche/Documents/nfs-public

Würde mir also bei jedem Einloggen meine Shares verbinden. Ist zwar nicht sooo der Hammer, weil SMB nicht funktioniert (noch nicht). Und auch ein Beschränken des Mount-Zugriffs ist noch nicht möglich.
Ich hab mir folgendes gedacht:

Man legt einen Benutzer an (ohne Shell, ohne Home) den man in Sudo das Recht auf "mount" gibt.
Das usermount.-Skript bekommt dann als Besitzer diesen User zugewiesen und natürlich auch das SUID-BIT, sodass jeder User der das Skript ausführt über den Benutzer seine Homes gemountet bekommt. Leider offenbart sich da das Problem, dass Perl ein SUID-BIT nicht akzeptiert.

nesh
08.10.02, 00:07
Hy,
das problem ist, das die fstab schon ganz am anfang vom boot vorgang gelesen wird.
das netzwerk ist ja "fast" noch nicht da.

ich würde mir ein script schreiben:

mount -t smbfs -o username=user,password=geheim //server/freigabe /mountpoint

es dann ausführbar machen und in /etc/init.d legen

chmod 700 scriptname && mv scriptname /etc/init.d/

und dann in die runlevels einen Link machen

ln -s /etc/init.d/scriptname /etc/init.d/rc3.d/S99scriptname
ln -s /etc/init.d/scriptname /etc/init.d/rc5.d/S99scriptname

dann würde ich noch ein script machen das beim runterfahren auch wieder sauber trennt

umount /mountpoint -> chmod 700 -> cp /etc/init.d -> ln -s ............. /rc5.d/K01.....

RapidMax
08.10.02, 00:23
Ich habs zwar nicht probiert:
Wenn du in der fstab unter den Optionen noauto und user hinzufügst, wird das smb-Share bei Start nicht gemountet. Zudem kann so jeder User das Share mounten.

Sollte so funktionieren, oder?

Gruss, Andy

Rebell
08.10.02, 07:32
Ja und wie funktioniert die Sache mit den User-spezifischen Passwort?