Prosíme přihlašte se nebo zaregistrujte.

Přihlašte se svým uživatelským jménem a heslem.
Vaše pomoc je stále potřeba!

Autor Téma: Připojení cifs svazku do souborového systému  (Přečteno 7038 krát)

makl

  • Aktivní člen
  • *
  • Příspěvků: 241
Připojení cifs svazku do souborového systému
« kdy: 02 Března 2007, 02:16:20 »
Nedaří se mi připojit si vzdálený cifs svazek do souborového systému aniž bych musel být root.
Připojení se superuživatelskými privilegii funguje dobře, a to jak
Kód: [Vybrat]
sudo mount -t cifs -o username=USER,password=XXX,workgroup=PRACOVNI-SKUPINA,rw //svazek_na_serveru /pripojny_bodtak i příslušným řádkem v /etc/fstab a následným příkazem:
Kód: [Vybrat]
FSTAB:
//svazek_na_serveru               /pripojny_bod          cifs           user=USER,pass=xxxxxx,dom=DOMENA,users          0       0
PŘÍKAZ:
sudo mount /pripojny_bod
Tu možnost "users" tam mám, protože jsem si tady někde přečetl, že díky ní budou moci mountovat i normální uživatelé. Bohužel to ale nefunguje, jak bych si představoval:
Kód: [Vybrat]
makl $ mount /pripojny_bod
mount error 1 = Operation not permitted
Refer to the mount.cifs(8) manual page (e.g.man mount.cifs)
Kde jsem se dočetl akorát tak
Citace: sekce NOTES
This command may be used only by root, unless installed setuid, in which case the noeexec and nosuid mount  flags are enabled.
Moc ale netuším, co bych měl teď udělat, takže prosím o rady.
"The box said that I needed to have Windows 98 or better ... so I installed Linux." --- LinuxNewbie.org
Acer TravelMate® 4672LMi, Ubuntu 7.04 Feisty Fawn

LS

  • Závislák
  • ***
  • Příspěvků: 3849
    • http://linux.euweb.cz
Připojení cifs svazku do souborového systému
« Odpověď #1 kdy: 02 Března 2007, 11:16:31 »
U mountovani smbfs/cifs svazku je situace jina nez u mountovani lokalnich oddilu.

Dulezita je informace
Kód: [Vybrat]
smbmnt must be installed suid root for direct user mounts (1000,1000)
smbmnt failed: 1
Suid root se pro smbmnt nastavi prikazem
Kód: [Vybrat]
sudo chmod +s /usr/bin/smbmnt

makl

  • Aktivní člen
  • *
  • Příspěvků: 241
Připojení cifs svazku do souborového systému
« Odpověď #2 kdy: 02 Března 2007, 11:57:51 »
Příkaz "sudo chmod u+s /usr/bin/smbmnt" jsem taky zkoušel, ale píše to pořád, že operace není povolena a že si mám pročíst manové stránky.
Ten chybový kód "smbmnt must be ..." se mi vypisoval, když jsem místo "cifs" měl v fstabu "smbfs". Když jsem potom přidal ta "s" práva, tak se mi dostalo:
Kód: [Vybrat]
27942: session setup failed: ERRDOS - ERRnoaccess (Access denied.)
SMB connection failed
Zadal jsem tu hlášku do googlu, ale nic uspokojivého jsem nenašel. Tak jsem radši dal zase všechno zpátky.
Teď mám dilema, jestli se snažit něco vydumat s pomocí té hlášky, nebo se spíš snažit prorazit přes to cifs a ne smbfs (když jsem se kdysi ptal správce sítě, tak jsem dostal příkaz k připojování "mount -t cifs ..."), což by mělo být asi více korektní.
Co myslíte?
"The box said that I needed to have Windows 98 or better ... so I installed Linux." --- LinuxNewbie.org
Acer TravelMate® 4672LMi, Ubuntu 7.04 Feisty Fawn

LS

  • Závislák
  • ***
  • Příspěvků: 3849
    • http://linux.euweb.cz
Připojení cifs svazku do souborového systému
« Odpověď #3 kdy: 02 Března 2007, 12:10:41 »
IMHO je fuk jestli pouzijete smbfs nebo cifs. Zkuste se zeptat vaseho spravce, proc pozaduje zrovna cifs.

makl

  • Aktivní člen
  • *
  • Příspěvků: 241
Připojení cifs svazku do souborového systému
« Odpověď #4 kdy: 02 Března 2007, 12:37:11 »
Tak jestli je to fuk, tak máme aspoň víc možností na to, jak se připojit.

Ještě jsem se chtěl zeptat, jestli všechny ty různé možnosti (noperms, uid, gid, ...), na které jsem při pročítání fóra narazil mají nějaký vliv na to, jestli bude souborový systém na vzdáleném disku přimountován, nebo mají vliv až na to, jak s ním bude možno zacházet.
"The box said that I needed to have Windows 98 or better ... so I installed Linux." --- LinuxNewbie.org
Acer TravelMate® 4672LMi, Ubuntu 7.04 Feisty Fawn

makl

  • Aktivní člen
  • *
  • Příspěvků: 241
Připojení cifs svazku do souborového systému
« Odpověď #5 kdy: 02 Března 2007, 12:46:13 »
Tak jsem vyzkoušel ještě mountování přes smbfs, takže jsem změnil fstab a provedl:
Kód: [Vybrat]
FSTAB:
//svazek_na_serveru               /pripojny_bod          smbfs           user=USER,pass=xxxxxx,dom=DOMENA,users          0       0
PŘÍKAZ:
sudo mount /pripojny_bod
ale nedostane se mi přístupových práv:
Kód: [Vybrat]
makl $  sudo ls /pripojny_bod/
ls: /pripojny_bod/: Permission denied
Totožný výsledek má i ruční mountování
Kód: [Vybrat]
sudo mount -t smbfs -o username=USER,password=XXX,workgroup=PRACOVNI-SKUPINA,rw //svazek_na_serveru /pripojny_bodTakže bych raději šel přes to cifs, u kterého bych si ještě rád nastudoval možnost "credentials", abych udržel heslo na bezpečnějším místě než v /etc/fstab.
"The box said that I needed to have Windows 98 or better ... so I installed Linux." --- LinuxNewbie.org
Acer TravelMate® 4672LMi, Ubuntu 7.04 Feisty Fawn

LS

  • Závislák
  • ***
  • Příspěvků: 3849
    • http://linux.euweb.cz
Připojení cifs svazku do souborového systému
« Odpověď #6 kdy: 02 Března 2007, 12:53:22 »
to uz je otazka nastevi prav adresare /pripojny_bod
nastavte prava nejmene na 755

makl

  • Aktivní člen
  • *
  • Příspěvků: 241
Připojení cifs svazku do souborového systému
« Odpověď #7 kdy: 02 Března 2007, 12:54:59 »
Citace: lukas.svoboda
to uz je otazka nastevi prav adresare /pripojny_bod
nastavte prava nejmene na 755
Když přece zadám "sudo ls /pripojny_bod/", tak by se práva kontrolovat neměla (?).
"The box said that I needed to have Windows 98 or better ... so I installed Linux." --- LinuxNewbie.org
Acer TravelMate® 4672LMi, Ubuntu 7.04 Feisty Fawn

makl

  • Aktivní člen
  • *
  • Příspěvků: 241
Připojení cifs svazku do souborového systému
« Odpověď #8 kdy: 02 Března 2007, 15:31:45 »
Mohl by se ještě někdo prosím zamyslet nad těmi možnostmi?

Jakákoli pomoc (hlavně s cifs) stále vítána. Díky
"The box said that I needed to have Windows 98 or better ... so I installed Linux." --- LinuxNewbie.org
Acer TravelMate® 4672LMi, Ubuntu 7.04 Feisty Fawn

klasyc

  • Aktivní člen
  • *
  • Příspěvků: 470
Připojení cifs svazku do souborového systému
« Odpověď #9 kdy: 11 Dubna 2007, 07:11:14 »
Ahoj,

funguje teda někomu mountování cifs disků bez sudo? Já sem se s tím trápil hodně dlouho a podle mě maj chybu v programech mount a umount.cifs. Tak sem to opravil a teď to chodí naprosto v pohodě. Chtěl sem napsat bug report na Sambu, ale to bylo složitější, než celá oprava. Pokud budete chtít, tak až se dostanu domů, můžu sem uploadovat ty upravený soubory i s návodem.

makl

  • Aktivní člen
  • *
  • Příspěvků: 241
Připojení cifs svazku do souborového systému
« Odpověď #10 kdy: 12 Dubna 2007, 17:21:04 »
Citace: klasyc
Pokud budete chtít, tak až se dostanu domů, můžu sem uploadovat ty upravený soubory i s návodem.
Určitě chceme (aspoň já bych prosil) ;)
"The box said that I needed to have Windows 98 or better ... so I installed Linux." --- LinuxNewbie.org
Acer TravelMate® 4672LMi, Ubuntu 7.04 Feisty Fawn

klasyc

  • Aktivní člen
  • *
  • Příspěvků: 470
Připojení cifs svazku do souborového systému
« Odpověď #11 kdy: 12 Dubna 2007, 20:21:08 »
Takže tady je mini HOWTO:

Věc: Jak připojovat CIFS disky jako běžný uživatel v Linuxu

V programech mount.cifs a umount.cifs asi špatně chodí kontrola práv, takže se mně za boha nepovedlo
připojit disky, aniž bych psal sudo. Tak jsem musel udělat opravu příkazů:

1) Stáhněte si zdrojáky -  mount.cifs.c a umount.cifs.c a uložte si je někam na disk - třeba do domovského adresáře

Já je našel tady: http://linux-cifs.samba.org/cifs/cifs_download.html

2) Proveďte v nich následující úpravy:

    a) mount.cifs.c

        připsal jsem tenhle odstavec

   if(statbuf.st_uid == 0) {
      statbuf.st_uid = getuid();
   }

        před tenhle odstavec (špatně zjišťoval ID uživatele) - použijte funkci hledání :-)

   if((getuid() != 0) && (geteuid() == 0)) {
      if((statbuf.st_uid == getuid()) && (S_IRWXU == (statbuf.st_mode & S_IRWXU))) {
#ifndef CIFS_ALLOW_USR_SUID
         /* Do not allow user mounts to control suid flag
         for mount unless explicitly built that way */
         flags |= MS_NOSUID | MS_NODEV;
#endif                  
      } else {
         printf("mount error: permission denied or not superuser and mount.cifs not installed SUID\n");
         return -1;
      }
   }

     b) umount.cifs.c
       
         Odstavec za tímto řádkem jsem okomentoval - znaky /* a */

rc = umount_check_perm(mountpoint);

/*   if (rc) {
      printf("Not permitted to unmount\n");
      return rc;
   }*/


3) Programy zkompilujte programem gcc:

gcc jméno_souboru -o jméno_výstupního_souboru

gcc ./mount.cifs.c -o ./mount.cifs -DCIFS_ALLOW_USR_SUID
gcc ./umount.cifs.c -o ./umount.cifs

4) Nahraďte původní programy mount.cifs a umount.cifs v /sbin

sudo cp ./mount.cifs /sbin/mount.cifs
sudo cp ./umount.cifs /sbin/umount.cifs

5) Nastavte vlastníka - roota:
sudo chown root.root /sbin/mount.cifs
sudo chown root.root /sbin/umount.cifs

6) Přidejte sticky bit:

sudo chmod +s /sbin/mount.cifs
sudo chmod +s /sbin/umount.cifs

7) Pro lepší pohodlí napište odkaz na cifs svazek do /etc/fstab

Přidejte řádek:

//server/sdílený_disk   /media/náš_mountpoint      cifs   user,noauto,rw,user=uživ_jméno,password=heslo_sdíleného_disku,uid=vlastník_souborů_na_cifs,gid=skupina_vlastníka_souborů_na_cifs 0 0

noauto - nepřipojuje disk po startu PC
user, password - jméno a heslo síťového disku
gid, uid - jméno a skupina vlastníka, kterému bude svazek patřit (je dobré si tam napsat běžného uživatele - sebe, pokud chcete mít neomezená práva

Pak by to mělo chodit. Nejsem si jistý akorát s tou kompilací - aby tam nedělaly problém nějaké závislosti. Kdybych věděl, jak se sem dá uploadovat, tak byh vám sem hodil i zkompilované soubory.

Jo a poslední věc: když se dá update systému, tak se z netu stáhnou zpátky soubory s chybou (to by chtělo nějak zakázat, ale ještě jsem na to neměl čas)

Teď už sem to psal spíš spatra, tak mějte soucit a kdyby něco nešlo přesně podle návodu, zkuste si to domyslet a nebo napište...

makl

  • Aktivní člen
  • *
  • Příspěvků: 241
Připojení cifs svazku do souborového systému
« Odpověď #12 kdy: 12 Dubna 2007, 23:41:38 »
Jsi borec, máš u mě vyznamenání. Funguje to parádně. Jel jsem podle toho návodu a žádné problémy jsem neměl. Ještě zakázat ty aktualizace a bude to perfektní. Ještě jednou díky.
"The box said that I needed to have Windows 98 or better ... so I installed Linux." --- LinuxNewbie.org
Acer TravelMate® 4672LMi, Ubuntu 7.04 Feisty Fawn

klasyc

  • Aktivní člen
  • *
  • Příspěvků: 470
Připojení cifs svazku do souborového systému
« Odpověď #13 kdy: 15 Dubna 2007, 21:35:32 »
Není zač, jestli je na tomhle fóru nějakej šikovnej admin, tak by to moh hodit někam do FAQ, je to podle mě docela běžná věc a mohlo by to pomoct dalším lidem...

Pavelp

  • Host
Připojení cifs svazku do souborového systému
« Odpověď #14 kdy: 16 Dubna 2007, 07:22:37 »
Nevim, jestli je bezna vec uprava systemovych zdrojaku v C  a jejich kompilace, spis jsem presvedceny ze ne.  Do FAQ by se to hodilo, ale pro velmi pokrocile uzivatele. BFU - tech je tu prevazna vetsina, si s tim neporadi. Pokud je to opravdu vazna chyba a ne feature, melo by to byt reportovano.

 

Provoz zaštiťuje spolek OpenAlt.