Tento postup popisuje, jak trvale připojit sdílené složky Windows CIFS (SMB). Sdílené složky mohou být hostovány na počítači/serveru Windows nebo na serveru Linux/UNIX se systémem Samba. Tento dokument také platí na akcie SMBFS, které jsou podobné CIFS, ale jsou zastaralé a je třeba se jim pokud možno vyhnout (odkaz).
Toto uvedení je založeno na původním dokumentu Ubuntu (odkaz), který napsali přispěvatelé na wiki dokumentaci Ubuntu.
(Tento dokument není popište, jak hostovat sdílené položky sami, pouze jak přistupovat ke sdíleným položkám, které jsou hostovány někde jinde. Pro sdílení sdílení použijte Sambu.)
Předpoklady
Předpokládáme, že:
- Síťová připojení byla správně nakonfigurována.
-
Vaše místní uživatelské jméno je ubuntuusername .
-
Sdílené uživatelské jméno na počítači se systémem Windows je msusername .
-
Heslo sdílení v počítači se systémem Windows je mspassword .
-
Název počítače se systémem Windows je název serveru (může to být IP adresa nebo přidělené jméno).
-
Název sdílené položky je sharename .
-
Chcete sdílenou složku připojit do /media/windowsshare .
Instalace CIFS
sudo apt-get install cifs-utils
Na starších systémech:
sudo apt-get install smbfs
Připojování nechráněných (hostujících) síťových složek
Nejprve vytvoříme adresář pro připojení. Pro každé připojení budete potřebovat samostatný adresář.
sudo mkdir /media/windowsshare
Poté upravte svůj soubor /etc/fstab (s oprávněními root) a přidejte tento řádek:
//servername/sharename /media/windowsshare cifs guest,uid=1000,iocharset=utf8 0 0
Kde;
-
host označuje, že pro přístup ke sdílené složce nepotřebujete heslo,
-
uid=1000 učiní uživatele Linuxu určeného id vlastníkem připojené sdílené složky, což mu umožní přejmenovat soubory,
-
iocharset=utf8 umožňuje přístup k souborům s názvy v jiných než anglických jazycích. Toto nefunguje se sdílenými zařízeními, jako je Buffalo Tera Station nebo počítače se systémem Windows, které exportují své sdílené položky pomocí ISO8895-15.
-
Pokud je v cestě serveru nějaké místo , musíte jej nahradit \040, například //název serveru/My\040Documents
Po přidání položky do /etc/fstab zadejte:
sudo mount -a
Tím se (znovu) připojí všechny položky uvedené v /etc/fstab.
Připojovat síťové složky chráněné heslem
Nejrychlejší způsob, jak automaticky připojit sdílenou složku chráněnou heslem, je upravit /etc/fstab (s oprávněními root) a přidat tento řádek:
//servername/sharename /media/windowsshare cifs username=msusername,password=mspassword,iocharset=utf8,sec=ntlm 0 0
Toto není dobrý nápad:/etc/fstab je čitelný pro každého, stejně jako vaše heslo pro Windows v něm. Řešením je použití souboru pověření. Toto je soubor, který obsahuje pouze uživatelské jméno a heslo.
Pomocí textového editoru vytvořte soubor pro přihlašovací pověření vzdálených serverů:
gedit ~/.smbcredentials
Do souboru zadejte své uživatelské jméno a heslo pro Windows:
username=msusername password=mspassword
Uložte soubor, ukončete editor.
Změňte oprávnění souboru, abyste zabránili nechtěnému přístupu k vašim přihlašovacím údajům:
chmod 600 ~/.smbcredentials
Poté upravte svůj soubor /etc/fstab (s oprávněními root) a přidejte tento řádek (nahrazením nezabezpečeného řádku ve výše uvedeném příkladu, pokud jste jej přidali):
//servername/sharename /media/windowsshare cifs credentials=/home/ubuntuusername/.smbcredentials,iocharset=utf8,sec=ntlm 0 0
Uložte soubor, ukončete editor.
Nakonec otestujte záznam fstab vydáním:
sudo mount -a
Pokud nejsou žádné chyby, měli byste po restartu vyzkoušet, jak to funguje. Vaše vzdálené sdílení by se mělo připojit automaticky.
Zvláštní oprávnění
Pokud potřebujete speciální oprávnění (jako chmod atd.), budete muset přidat uid (zkratka pro ‘user id’) nebo gid (pro ‘ID skupiny’) k možnostem připojení sdílené položky.
//servername/sharename /media/windowsshare cifs uid=ubuntuuser,credentials=/home/ubuntuuser/.smbcredentials,iocharset=utf8,sec=ntlm 0 0
Odstraňování problémů
Chyby přihlášení
Pokud se zobrazí chyba „chyba připojení (13) oprávnění odepřeno“, server vám přístup odepřel. Zde jsou první věci, které je třeba zkontrolovat:
- Používáte platné uživatelské jméno a heslo? Má tento účet skutečně přístup k této složce?
-
Máte v souboru pověření mezery? Mělo by to být password=mspassword , nikoli heslo = mspassword .
-
Potřebujete doménu? Například, pokud vám bylo řečeno, že vaše uživatelské jméno je SALES\sally , pak je ve skutečnosti vaše uživatelské jméno sally a vaše doména je PRODEJ . Záznam fstab by měl znít:...username=sally,password=pass,domain=SALES,... Nebo:...pověření=/cesta/k/souboru,doména=PRODEJ,...
-
Je nastavení zabezpečení správné? Nejběžnější je sec=ntlm , ale můžete také vyzkoušet další možnosti uvedené na manuálové stránce mount.cifs. Seznam manuálových stránek vynechává možnost sec=lanman z nějakého důvodu, ale měli byste zkusit i ten (viz diskuze).
Nechráněná síťová složka se automaticky nepřipojí
Měl jsem situaci, kdy se nechráněná síťová složka během spouštění automaticky nepřipojila, ale po ručním zadání „sudo mount -a“ byla připojena správně. Vyřešil jsem to nahrazením možnosti „host“ za „uživatelské jméno=host,heslo=“. Pokud pro to má někdo vysvětlení, zanechte prosím komentář.
//servername/sharename /media/windowsshare smbfs username=guest,password=,uid=1000,iocharset=utf8,codepage=unicode,unicode 0 0
Připojit během přihlášení místo spouštění
Pokud z nějakého důvodu/etc/rc0.d/S31umountnfs.sh (například problémy se sítí) nefunguje automatické připojování během bootování, můžete přidat parametr „noauto“ do své položky smbfs fstab a poté nechat sdílenou složku připojit na přihlásit se.
V /etc/fstab:
//servername/sharename /media/windowsshare cifs noauto,credentials=/home/ubuntuusername/.smbpasswd 0 0
V /etc/rc.local:
mount /media/windowsshare exit 0
Pomalé vypínání kvůli chybě CIFS/Network Manager
Pokud používáte Network Manager a dochází k opravdu pomalému vypínání, je to pravděpodobně proto, že se NM vypne před odpojením síťových sdílených složek. To způsobí, že CIFS zamrzne a počká asi 60 sekund. Zde je návod, jak to opravit:/etc/rc0.d/S31umountnfs.sh
sudo ln -s /etc/init.d/umountnfs.sh /etc/rc0.d/K14umountnfs.sh sudo ln -s /etc/init.d/umountnfs.sh /etc/rc6.d/K14umountnfs.sh
Ubuntu 12.04 již běží umountnfs.sh ve výchozím nastavení při restartu a vypnutí (/etc/rc0.d/S31umountnfs.sh a /etc/rc6.d/S31umountnfs.sh), takže to již není nutné.
Zastaralé možnosti CIFS
20. února 2008 TW
Použití dmask nebo fmask v souboru fstab vytváří následující varování:VAROVÁNÍ:Možnost připojení CIFS „dmask“ je zastaralá. Místo toho použijte ‚dir_mode‘. VAROVÁNÍ:Možnost připojení CIFS „fmask“ je zastaralá. Místo toho použijte ‚file_mode‘.
Místo toho použijte tento formát:file_mode=0777,dir_mode=0777 . Nebo v některých případech možná budete muset použít file_mode=0777,dir_mode=0777,nounix (viz diskuze)
Použití vlnovky v názvech cest, jako je „credentials=~/.smbcredentials“
20. února 2008 TW
Je zajímavé, že použití credentials=~/.smbcredentials v fstab nefungovalo. Musel jsem použít úplnou cestu, tj. /home/username/.smbcredentials
(Je to pravděpodobně proto, že vlnovka „~“ je pouze zkratkový alias shellu pro „$HOME“; není to něco, co uznávají všechny programy v celém systému, zvláště ne v tabulce systémových souborů, kde je pojem „HOME“ ” ve skutečnosti neexistuje. -Ian!)
Historické položky (starší verze Ubuntu)
Připojte sdílené položky chráněné heslem pomocí libpam_mount (Ubuntu 9.04)
Kromě původních předpokladů předpokládáme, že
-
Vaše uživatelské jméno a heslo jsou stejné na počítači Ubuntu i na síťovém disku.
Nainstalujte libpam-mount:
sudo apt-get install libpam-mount
Upravte soubor /etc/security/pam_mount.conf.xml pomocí preferovaného textového editoru.
gksudo gedit /etc/security/pam_mount.conf.xml
Nejprve přesouváme konfigurační bity specifické pro uživatele do souboru, který mohou uživatelé skutečně sami upravovat:odstraňte značky pro komentáře () obklopující sekci nazvanou
gedit ~/.pam_mount.conf.xml
Přidejte následující:
<?xml version="1.0" encoding="utf-8" ?> <pam_mount> <volume options="uid=%(USER),gid=100,dmask=0700" user="*" mountpoint="/media/windowsshare" path="sharename" server="servername" fstype="cifs" /> </pam_mount>
Materiál v tomto příspěvku je dostupný pod bezplatnou licencí, podrobnosti naleznete v části Copyright / Licence.