GNU/Linux >> Znalost Linux >  >> Linux

Jak trvale připojit Windows nebo Samba Shares

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 . Po dokončení soubor uložte. Díky tomu mohou uživatelé vytvářet vlastní ~/.pam_mount.conf.xml.

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.


Linux
  1. Jak upravit soubor Hosts ve Windows 10

  2. Jak připojit soubor iso v Linuxu

  3. Jak připojit soubor ISO v Linuxu?

  1. Jak používat autofs k připojení sdílených složek NFS

  2. Jak nakonfigurovat server SAMBA a přenášet soubory mezi Linuxem a Windows

  3. Jak připojit vzdálené sdílení Windows v systému Linux

  1. Jak připojit souborový systém, mapování uživatelských id?

  2. Jak povolit oprávnění k souborům Unix na sdílení Samba s Smb 2.0+?

  3. Jak připojit a odpojit souborový systém v Linuxu