PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : CentOS 5.5 Kann windows Share nicht mounten



Revan
14.12.16, 10:03
Guten Morgen,

ich möchte auf einem CentOS Rechner eine Freigabe mounten die auf einem Windows Server 2012R2 liegt.

Der Windows Server ist Teil einer Domäne, es wurde zum testen aber auch ein lokaler User angelegt und dieser und ein Domänen-User haben Schreibzugriff auf diese Freigabe.

Dann habe ich auf der CentOS Maschine einen User angelegt:

useradd -s /bin/true User
smbpasswd -a User

Danach habe ich versucht, die Freigabe zu mounten:

mount.cifs //server/share /mnt/mountpoint -o username=User
mount.cifs \\server\share /mnt/mountpoint -o username=User
mount.cifs \\\\server\\share /mnt/mountpoint -o username=domain\User
mount -t cifs //server/share /mnt/mountpoint -verbose -o username=User,uid=500,gid=500
...usw.

Leider ohne Erfolg:

mount error(13): Permission denied
Refer to mount.cifs(8) manual page (e.g. man mount.cifs)
Status code returned 0xc00006d NT_STATUS_LOGON_FAILURE
CIFS VFS: Send error in SessSetup = -13
CIFS VFS cifs_mount failed w/return code = -13

Nachdem ich mir die Man page durchgelesen habe hab ich es noch mit den Parametern sec und verbose probiert aber das hat mich auch nicht weitergebracht.

Mit smbclient kann ich auf die Freigabe zugreifen:

smbclient //server/share -U User
Domain=[domain] OS=[Windows Server 2012 R2 Datacenter 9600] Server=[Windows Server 2012 R2 Datacenter 6.3]
smb: \> ls
. D 0 Tue Dec 6 15:43:42 2016
.. D 0 Tue Dec 6 15:43:42 2016
testsmb.txt A 9 Tue Dec 6 15:43:49 2016


Was mache ich hier falsch?

muell200
14.12.16, 11:14
erstmal wilkkommen...



Dann habe ich auf der CentOS Maschine einen User angelegt:


du brauchst keinen lokalen user bzw. smb user anlegen, wenn centos der client ist.




mount error(13): Permission denied
...
Status code returned 0xc00006d NT_STATUS_LOGON_FAILURE
..



fehlermeldung ist eindeutig: Username/Passwwort falsch :)

denke aber es liegt an NTLM/NTLMv2 siehe: https://support.microsoft.com/en-us/kb/942564
oder https://duckduckgo.com/?q=allow+cryptography+algorithms+compatible+with+w indows+nt&t=vivaldi&ia=web

Revan
14.12.16, 14:56
Hallo und danke :)

Das mit dem lokalen User hab ich aus Google als mögliche Fehlerursache, war ein Versuch.

Username und Passwort sind definitiv korrekt, so oft wie ich das jetzt schon probiert habe kann ich das gar nicht falsch eingeben.
ntlm und ntlmv2 habe ich ja mit dem sec Parameter probiert, genauso ohne Erfolg.
Und sollte dann das öffnen des shares mit smbclient ... nicht auch fehlschlagen?

Wie dem auch sei, den Workaround aus dem MS KB Artikel habe ich gerade probiert und hat leider auch nicht geholfen.

marce
14.12.16, 15:54
ein potentielle Ursache könnte noch sein, daß /mnt/mountpoint für den lokalen User nicht zugreifbar ist.

Hast Du eine Chance, auf dem Server mal in die Logs zu schauen?
Ggf. auch mal den mount-Versuch mit strace mitlesen...
SELinux schon geprüft?

Ggf. musst Du auf dem Server evtl. was runterdrehen bezüglich Auth-Anforderungen / Protokollen, da die C5er ja schon ein wenig historisch ist mit bezüglich dem Softwarestand...

Revan
14.12.16, 16:39
In die Logs kann ich schauen, welche wären da von Interesse?

Edit: SELinux ist disabled
strace mount.cifs //server/share /mnt/mountpoint username=User

execve("/sbin/mount.cifs", ["mount.cifs", "//server/share", "/mnt/mountpoint", "username=User"], [/* 25 vars */]) = 0
brk(0) = 0x2ace12f27000
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2ace1099e000
uname({sys="Linux", node="dbserv1.orbotech.org", ...}) = 0
access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory)
open("/etc/ld.so.cache", O_RDONLY) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=152780, ...}) = 0
mmap(NULL, 152780, PROT_READ, MAP_PRIVATE, 3, 0) = 0x2ace1099f000
close(3) = 0
open("/lib64/libcap.so.1", O_RDONLY) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0p\r t<\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=17384, ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2ace109c5000
mmap(NULL, 2111000, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x2ace10b9f000
mprotect(0x2ace10ba2000, 2097152, PROT_NONE) = 0
mmap(0x2ace10da2000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x3000) = 0x2ace10da2000
close(3) = 0
open("/lib64/librt.so.1", O_RDONLY) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0 \"\0n<\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=53448, ...}) = 0
mmap(NULL, 2132936, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x2ace10da3000
mprotect(0x2ace10daa000, 2097152, PROT_NONE) = 0
mmap(0x2ace10faa000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x7000) = 0x2ace10faa000
close(3) = 0
open("/lib64/libc.so.6", O_RDONLY) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\220\332\201i<\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=1717800, ...}) = 0
mmap(NULL, 3498328, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x2ace10fac000
mprotect(0x2ace110fa000, 2093056, PROT_NONE) = 0
mmap(0x2ace112f9000, 20480, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x14d000) = 0x2ace112f9000
mmap(0x2ace112fe000, 16728, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x2ace112fe000
close(3) = 0
open("/lib64/libpthread.so.0", O_RDONLY) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\240W@j<\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=145824, ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2ace11303000
mmap(NULL, 2204528, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x2ace11304000
mprotect(0x2ace1131a000, 2093056, PROT_NONE) = 0
mmap(0x2ace11519000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x15000) = 0x2ace11519000
mmap(0x2ace1151b000, 13168, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x2ace1151b000
close(3) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2ace1151f000
arch_prctl(ARCH_SET_FS, 0x2ace1151f6e0) = 0
mprotect(0x2ace11519000, 4096, PROT_READ) = 0
mprotect(0x2ace112f9000, 16384, PROT_READ) = 0
mprotect(0x2ace10faa000, 4096, PROT_READ) = 0
mprotect(0x2ace10b9d000, 4096, PROT_READ) = 0
munmap(0x2ace1099f000, 152780) = 0
set_tid_address(0x2ace1151f770) = 8120
set_robust_list(0x2ace1151f780, 0x18) = 0
futex(0x7fffc8e9275c, FUTEX_WAKE_PRIVATE, 1) = 0
rt_sigaction(SIGRTMIN, {0x2ace11309380, [], SA_RESTORER|SA_SIGINFO, 0x2ace11312b10}, NULL, 8) = 0
rt_sigaction(SIGRT_1, {0x2ace113092b0, [], SA_RESTORER|SA_RESTART|SA_SIGINFO, 0x2ace11312b10}, NULL, 8) = 0
rt_sigprocmask(SIG_UNBLOCK, [RTMIN RT_1], NULL, 8) = 0
getrlimit(RLIMIT_STACK, {rlim_cur=10240*1024, rlim_max=RLIM_INFINITY}) = 0
geteuid() = 0
brk(0) = 0x2ace12f27000
brk(0x2ace12f48000) = 0x2ace12f48000
capget(0x19980330, 0, {CAP_CHOWN|CAP_DAC_OVERRIDE|CAP_DAC_READ_SEARCH|CA P_FOWNER|CAP_FSETID|CAP_KILL|CAP_SETGID|CAP_SETU ID|CAP_LINUX_IMMUTABLE|CAP_NET_BIND_SERVICE|CAP_NE T_BROADCAST|CAP_NET_ADMIN|CAP_NET_RAW|CAP_IPC_LOCK |CAP_IPC_OWNER|CAP_S YS_MODULE|CAP_SYS_RAWIO|CAP_SYS_CHROOT|CAP_SYS_PTR ACE|CAP_SYS_PACCT|CAP_SYS_ADMIN|CAP_SYS_BOOT|CAP_S YS_NICE|CAP_SYS_RESO URCE|CAP_SYS_TIME|CAP_SYS_TTY_CONFIG|0xf8000000, CAP_CHOWN|CAP_DAC_OVERRIDE|CAP_DAC_READ_SEARCH|CAP _FOWNER|CAP_FSETID|CA P_KILL|CAP_SETGID|CAP_SETUID|CAP_LINUX_IMMUTABLE|C AP_NET_BIND_SERVICE|CAP_NET_BROADCAST|CAP_NET_ADMI N|CAP_NET_RAW|CAP_IP C_LOCK|CAP_IPC_OWNER|CAP_SYS_MODULE|CAP_SYS_RAWIO| CAP_SYS_CHROOT|CAP_SYS_PTRACE|CAP_SYS_PACCT|CAP_SY S_ADMIN|CAP_SYS_BOOT |CAP_SYS_NICE|CAP_SYS_RESOURCE|CAP_SYS_TIME|CAP_SY S_TTY_CONFIG|0xf8000000, 0}) = 0
capset(0x19980330, 0, {CAP_SYS_ADMIN, CAP_DAC_OVERRIDE|CAP_DAC_READ_SEARCH|CAP_SYS_ADMIN , 0}) = 0
mmap(NULL, 10464, PROT_READ|PROT_WRITE, MAP_SHARED|MAP_ANONYMOUS, -1, 0) = 0x2ace1099f000
getuid() = 0
capget(0x19980330, 0, {CAP_SYS_ADMIN, CAP_DAC_OVERRIDE|CAP_DAC_READ_SEARCH|CAP_SYS_ADMIN , 0}) = 0
capset(0x19980330, 0, {CAP_DAC_READ_SEARCH|CAP_SYS_ADMIN, CAP_DAC_OVERRIDE|CAP_DAC_READ_SEARCH|CAP_SYS_ADMIN , 0}) = 0
chdir("/mnt/mountpoint") = 0
getcwd("/mnt/mountpoint"..., 4096) = 10
capget(0x19980330, 0, {CAP_DAC_READ_SEARCH|CAP_SYS_ADMIN, CAP_DAC_OVERRIDE|CAP_DAC_READ_SEARCH|CAP_SYS_ADMIN , 0}) = 0
capset(0x19980330, 0, {CAP_SYS_ADMIN, CAP_DAC_OVERRIDE|CAP_DAC_READ_SEARCH|CAP_SYS_ADMIN , 0}) = 0
clone(Password: child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGC HLD, child_tidptr=0x2ace1151f770) = 812 1
wait4(-1, 0x7fffc8e92724, 0, NULL) = ? ERESTARTSYS (To be restarted)
--- SIGWINCH (Window changed) @ 0 (0) ---
wait4(-1,
[{WIFEXITED(s) && WEXITSTATUS(s) == 0}], 0, NULL) = 8121
--- SIGCHLD (Child exited) @ 0 (0) ---
capget(0x19980330, 0, {CAP_SYS_ADMIN, CAP_DAC_OVERRIDE|CAP_DAC_READ_SEARCH|CAP_SYS_ADMIN , 0}) = 0
capset(0x19980330, 0, {CAP_DAC_READ_SEARCH|CAP_SYS_ADMIN, CAP_DAC_OVERRIDE|CAP_DAC_READ_SEARCH|CAP_SYS_ADMIN , 0}) = 0
mount("//server/share", ".", "cifs", 0, "ip=10.10.10.33,unc=\\\\server\\share") = -1 EACCES (Permission denied)
capget(0x19980330, 0, {CAP_DAC_READ_SEARCH|CAP_SYS_ADMIN, CAP_DAC_OVERRIDE|CAP_DAC_READ_SEARCH|CAP_SYS_ADMIN , 0}) = 0
capset(0x19980330, 0, {CAP_SYS_ADMIN, CAP_DAC_OVERRIDE|CAP_DAC_READ_SEARCH|CAP_SYS_ADMIN , 0}) = 0
write(2, "mount error(13): Permission deni"..., 35mount error(13): Permission denied
) = 35
write(2, "Refer to the mount.cifs(8) manua"..., 61Refer to the mount.cifs(8) manual page (e.g. man mount.cifs)
) = 61

muell200
14.12.16, 16:43
Was meinst du z.B. mit strace und SELinux?

zb.: selinux siehe: https://duckduckgo.com/?q=SELinux+disabled&t=vivaldi&ia=web

ich vermute aber immernoch wie @marce geschrieben hat, das es an den auth-anforderungen / protokollen liegt

Revan
15.12.16, 08:17
Wie kann ich das prüfen?

Bitte entschuldigt die dummen Fragen, bin nicht so wirklich firm in Linux wenns über Grundlagen hinausgeht

muell200
15.12.16, 09:19
Bitte entschuldigt die dummen Fragen, bin nicht so wirklich firm in Linux wenns über Grundlagen hinausgeht

du muust die sicherheits einstellung unter windows aendern / anpassen

zb..: dein smbclient kann kein smb3,.... - cfis


siehe:
http://woshub.com/smb-1-0-support-in-windows-server-2012-r2/
https://support.microsoft.com/en-us/kb/2976995
usw..

Revan
15.12.16, 10:14
Ah sorry, hätte ich erwähnen sollen - Hab ich schon gemacht. auf dem 2012R2 ist der Treiber für SMBv1 aktiviert.
Das war mein anfangsverdacht, daher habe ich auch auf dem CentOS das Samba Paket aktualisiert, von 3.033... irgendwas zu 3.6.25... (Die letzte die bei sernet kostenfrei verfügbar ist)

Hat aber leider auch nicht funktioniert.

marce
15.12.16, 10:28
Wie hast Du denn aktualisiert? Sicher, daß die neue Version auch verwendet wird? Ggf. hängt es auch nicht nur an der SMB-Version sondern auch an ggf. abhängigen Bibliotheken wie (keine Ahnung ob's so ist, nur Vermutung) OpenSSL und so?

Warum verwendest Du denn überhaupt CentOS 5 - keine Chance, auf was aktuelles zu gehen? Die 5er ist ja auch bald EOL, von dem her würde sich doch ein Update anbieten. Zumindest solltest Du die 5er mal aktualisieren - 5.5 ist ja auch nicht mehr UpToDate...
Ggf. kannst Du ja erst mal mit einer VM oder einer Liveversion testen, ob's mit einer 6er oder 7er besser geht.

Revan
15.12.16, 10:38
Habe mit yum erase samba, samba3x, samba3x-common, samba3x-client alles deinstalliert und dann mit yum install samba3x, samba3x-client, samba3x-common neu installiert.

Ich versuche gerade parallel, die Installation mit dem VMWare Standalone Converter auf unseren ESXi zu ziehen aber leider schlägt das auch mit ner nichtssagenden Fehlermeldung fehl :(
Wenn das mal klappen würde könnte ich mal ein Update oder sogar ein Upgrade testen.
Leider steigt der Converter jedes mal bei 30% aus und ich weiß noch nicht warum.

marce
15.12.16, 10:55
Habe mit yum erase samba, samba3x, samba3x-common, samba3x-client alles deinstalliert und dann mit yum install samba3x, samba3x-client, samba3x-common neu installiert.

... und was bringt Dich zu der Meinung, daß Du damit eine neue Version bekommen würdest? :-)

Für mein Empfinden reitest Du mit der 5er-CentOS ein halbtotes Pferd und anstatt da noch lange herumzubasteln würde ich versuchen, den Unterbau auf was aktuelles zu bekommen - weil in 4 Monaten hast Du das Prblem sonst gleich wieder an der Backe.

Alternativ lass CIFS / Samba / SMB weg und geh auch "was vernünftiges" :-): https://msdn.microsoft.com/de-de/library/jj574143(v=ws.11).aspx

Revan
15.12.16, 13:34
Indem ich das sernet repo eingebaut habe und die Versionen waren ja definitiv unterschiedlich.

Wenn es nach mir ginge würde ich sofort upgraden aber der Hersteller der Software die auf dem Rechner läuft stellt sich halt quer.
Ohne das vorher zu testen kann ich da nicht auf gut Glück herumprobieren.

Zum Thema NFS: Das ist so mein letzter Ausweg, das klappt auch aber ich möchte NFS aus Sicherheitsgründen wenn möglich vermeiden.

Aber es muss doch möglich sein, eine SMB Freigabe auf einem Linux Rechner zu mounten auch wenn dieser etwas älter ist. SMB1 muss es doch mindestens können.

marce
15.12.16, 14:01
Grundlegend ist das auch kein Problem - ggf. muss man halt ein wenig spielen und probieren.

Dummerweise ist das aus meiner Sicht was, wo man ggf. nicht viel über "extern" beisteuern kann - die Fehlermeldung kennen wir, die Standard-Ideen dazu haben wir bereits genannt - alles weitere ist probieren, probieren, probieren... Ggf. halt auch mal zum Test mit einem anderen System (wie z.B. Centos6 oder 7), spielen am Windows-Server, ...
Du sagst, Du hast die üblichen Dinge schon probiert - idealerweise bräuchten wir nun von jedem Versuch alle Logs, alle Ein- und Ausgaben, straces, ... unver-xxx-Befehle und Konfigs, runterstrippen der Konfig auf die absoluten Basisc (also auch z.B. mal alle Domain-spez. Dinge serverseitig abschalten [was im prod. Betrieb meist bedingt, eine entsprechende Testumgebung aufzusetzen]), ...

Solange das nicht gegeben ist ist das in dem Fall eher Rate-mal-mit-Rosenthal - manche Probleme lassen leider nur durch Hartnäckigkeit vor Ort lösen.

Revan
15.12.16, 16:18
Ist für einen einfachen Netzwerk Mount halt auch ziemlich aufwendig.
Ich denke ich verfolge jetzt erstmal die Virtualisierung, vielleicht kann ich dann ja doch updaten.

Danke trotzdem für eure Hilfe

muell200
15.12.16, 16:48
Ist für einen einfachen Netzwerk Mount halt auch ziemlich aufwendig.


ist in einer HETEROGENE it-landschaft leider "normal".
du kannst mit einer windows NT oder XP kiste auch nicht auf einen netzwerkshare von win2012 zugreifen,
ausser du stellt das system um....