Plik danych uwierzytelniających CIFS ma znak specjalny

12

Mam problem z zamontowaniem udziału na moim XenServer (5.6 FP1). Z linii poleceń próbuję:

mount.cifs //server/share /mnt/share -o credentials=credfile

Zawartość credfile to:

username=Administrator
password=What@zR\!p3s

Po uruchomieniu powyższego polecenia montowania pojawia się komunikat „Odmowa dostępu”. Jeśli jednak uruchomię następujące polecenie, zadziała:

mount.cifs //server/share /mnt/share -o username=Administrator,password=What@zR\!p3s

Uwaga: „\” oznacza ucieczkę od huku, a ja próbowałem tego z plikiem referencji i bez niego. Jakieś sugestie?

David George
źródło
Czy coś zadziałało?
Barett,

Odpowiedzi:

11

Mam ten sam problem, ponieważ moje hasło zawiera symbol przecinka (tj. „PASS, WORD”):

$ sudo mount -t cifs -o domain=mydomain,username=myuser,password=PASS,WORD //server/share localfolder
mount error(22): Invalid argument
Refer to the mount.cifs(8) manual page (e.g. man mount.cifs)

Najpierw powinieneś spróbować włączyć tryb pełny (opcja --verbose):

$ sudo mount -t cifs -o domain=mydomain,username=myuser,password=PASS,WORD //server/share localfolder --verbose
mount.cifs kernel mount options: ip=172.30.91.137,unc=\\server\share,WORD,user=myuser,,domain=mydomain,pass=********

Tutaj widzę mój problem. Przecinek niszczy wszystkie rzeczy. Rozwiązaniem jest użycie pliku referencji. Co jest napisane w man mount.cifs:

credentials = nazwa pliku określa plik zawierający nazwę użytkownika i / lub hasło oraz opcjonalnie nazwę grupy roboczej. Format pliku to:

          username=value
          password=value
          domain=value

Jest to lepsze niż posiadanie haseł w postaci zwykłego tekstu we współdzielonym pliku, takim jak / etc / fstab. Pamiętaj, aby odpowiednio chronić plik poświadczeń.

Utwórz ten plik w dowolny sposób:

$ cat > cifs.credo
username=myuser
password=PASS,WORD
domain=mydomain

i użyj (--verbose można pominąć)

$ sudo mount -t cifs -o credentials=path/to/cifs.credo //server/share localfolder --verbose
mount.cifs kernel mount options: ip=172.30.91.137,unc=\\server\share,user=myuser,,domain=mydomain,pass=********

Nie ma problemu z hasłem.

Maxim Susłow
źródło
6

Częstym problemem ze starymi wersjami mount.cifs było to, że nowa linia na końcu pliku była przechowywana jako część hasła.

Więc nie powinieneś uciekać i powinieneś spróbować przepisać ten plik bez końca nowej linii.

Aby to zrobić w vimie, użyj :set noeol binaryprzed zapisaniem. Możesz sprawdzić, czy xxd credfilenie ma końca nowej linii i potwierdzić, że nie kończy ona się 0a.

Jeśli to nie zadziała, będę musiał sprawdzić dokładną bazę kodu. Z którego pakietu (dystrybucji, wersji i wydania) lub źródła (nazwa archiwum) korzystasz cifs-utils?

Pierre Carrier
źródło
1

Inną rzeczą do wypróbowania jest dwukrotne wpisanie znaku specjalnego ... Miałem hasło z $ i musiałem je zastąpić $$. Jednak obecnie mam problemy z marchewką: „^”

Alex
źródło
1

W przypadku mount.cifs w wersji 4.5 działały dla mnie: poświadczenia w domenie, nazwa użytkownika, hasło, brak nowego wiersza po haśle, brak znaków specjalnych i cudzysłowów.

mniej hałasu
źródło
Tak, ale to nie działało dla mnie, dzięki @lessnoise
David George
0

Spróbuj to zacytować.

To znaczy,

password="What@zR!p3s"

I mam nadzieję, że to nie jest tak naprawdę twoje hasło. Jeśli tak, musisz go teraz zmienić.

bahamat
źródło
Nie, to nie jest prawdziwe hasło. Po drugie, wypróbowałem już obie sugestie z tym samym rezultatem. Próbowałem także dosłownych cytatów, tj. >> '
David George
0

Czy próbowałeś usunąć ukośnik? całkowicie? Nie sądzę, że plik referencji powinien w ogóle wymagać ucieczki. Trzeba go uciec z powłoki, ponieważ powłoka interpretuje znaki, a nie polecenie mount.cifs.

Zoredache
źródło
Tak, próbowałem również bez odwrotnego ukośnika w pliku referencji. Nadal pojawia się błąd odmowy dostępu.
David George
0

To było bardzo pomocne! Moim problemem była dodatkowa przestrzeń w pliku „referencji”, który --verbosemi pokazał

mount.cifs kernel mount options: ip=10.77.180.65,unc=\\odxwtdsa.naoxy.com\TDS_BODS_Fileshare,user=srv-tdsadm,domain=NAOXY ,pass=********
mount error(13): Permission denied
Refer to the mount.cifs(8) manual page (e.g. man mount.cifs)
[root@odylztxz drpadm]#

Zrobiłem „vi” w pliku poświadczeń i :set listzobaczyłem dodatkowe końcowe puste. Usunąłem to. Spróbowałem jeszcze raz. Uwaga: „puste” zniknęło.

[root@odylztxz ~]# mount.cifs  -o credentials=/etc/.credentials,uid=1002,gid=200,file_mode=0x777,noperm //odxwtdsa.naoxy.com/TDS_BODS_Fileshare /TDS_BODS_FS --verbose
domain=NAOXY

mount.cifs kernel mount options: ip=10.77.180.65,unc=\\odxwtdsa.naoxy.com\TDS_BODS_Fileshare,file_mode=0x777,noperm,uid=1002,gid=200,user=srv-tdsadm,domain=NAOXY,pass=********
[root@odylztxz ~]# df -h
Filesystem                               Size  Used Avail Use% Mounted on
/dev/mapper/rhel-root                     50G  4.9G   45G  10% /
devtmpfs                                  16G     0   16G   0% /dev
tmpfs                                     16G     0   16G   0% /dev/shm
tmpfs                                     16G   76M   16G   1% /run
tmpfs                                     16G     0   16G   0% /sys/fs/cgroup
/dev/sdb1                                100G   11G   90G  11% /orasoft
/dev/sdc1                                100G   33G   68G  33% /oxyswap
/dev/sda2                                497M  214M  284M  43% /boot
/dev/mapper/rhel-var                     5.5G  1.2G  4.3G  22% /var
10.77.25.114:/GEN_BACKUP_DBS             5.8T  4.8T  945G  84% /backup
10.77.25.114:/GEN_MEDIA                  380G  319G   62G  84% /sap_media
10.77.25.114:/ORA_ZTX_SAPMNT              95G   12M   95G   1% /sapmnt
10.77.25.113:/ORA_ZTX_USR_SAP             95G   13M   95G   1% /usr/sap
10.77.25.113:/GEN_TRANS                  190G   26M  190G   1% /trans
tmpfs                                    3.2G   40K  3.2G   1% /run/user/4200
tmpfs                                    3.2G     0  3.2G   0% /run/user/3501
//odxwtdsa.naoxy.com/TDS_BODS_Fileshare  750G  578G  173G  78% /TDS_BODS_FS
[root@odylztxz ~]#
RickS
źródło