<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>NAS – Linux und Ich</title>
	<atom:link href="https://linuxundich.de/en/tag/nas/feed/" rel="self" type="application/rss+xml" />
	<link>https://linuxundich.de/en</link>
	<description>A German Linux blog, in English</description>
	<lastBuildDate>Thu, 12 Nov 2026 09:58:05 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.1.4</generator>
	<item>
		<title>Mounting Fritzbox Shares on Linux: GNOME, Plasma and fstab Compared by Speed</title>
		<link>https://linuxundich.de/en/mount-fritzbox-share-linux-samba-gnome-plasma-fstab/</link>
					<comments>https://linuxundich.de/en/mount-fritzbox-share-linux-samba-gnome-plasma-fstab/#respond</comments>
		
		<dc:creator><![CDATA[Christoph Langner]]></dc:creator>
		<pubDate>Thu, 12 Nov 2026 09:58:05 +0000</pubDate>
				<category><![CDATA[GNU/Linux]]></category>
		<category><![CDATA[File Manager]]></category>
		<category><![CDATA[Fritzbox]]></category>
		<category><![CDATA[fstab]]></category>
		<category><![CDATA[GNOME]]></category>
		<category><![CDATA[Homelab]]></category>
		<category><![CDATA[KDE Plasma]]></category>
		<category><![CDATA[NAS]]></category>
		<category><![CDATA[Networking]]></category>
		<category><![CDATA[Samba]]></category>
		<category><![CDATA[Server]]></category>
		<guid isPermaLink="false">https://linuxundich.de/en/?p=373</guid>

					<description><![CDATA[A Fritzbox makes a handy mini NAS, but on Linux several routes lead to the files. Nautilus, Dolphin, mount.cifs, smbclient and FTP measured against each other: which one suits which job.]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">A USB stick on the Fritzbox, and everyone in the house has a network drive: photos, documents, the music collection. On Linux, though, the share is more than one click away, because there are several ways to reach it. The file manager mounts it conveniently, while <code>/etc/fstab</code> makes it permanently available. Both get you there, but they differ in speed and reliability.</p>



<p class="wp-block-paragraph">So what is the best way? Are there pros and cons to mounting Fritzbox shares through the file manager? What about the <code>/etc/fstab</code> file or systemd? And what about FTP: is the almost forgotten protocol any faster? A series of measurements on two systems provides the answers.</p>



<p class="wp-block-paragraph">Before we get to Linux tools: the Fritzbox shares can also be opened in a browser, at <code>https://fritz.box/nas#/</code>. After login, the FritzNAS web interface shows the same folders that later appear in the file manager, including the folder of the USB stick. <em>Add</em> and <em>New folder</em> let you upload files and create folders, and there is a search as well. That is enough for single files; for everyday use the methods below are more convenient.</p>



<figure data-wp-context="{&quot;imageId&quot;:&quot;6af58f880075d&quot;}" data-wp-interactive="core/image" data-wp-key="6af58f880075d" class="wp-block-image wp-lightbox-container"><img fetchpriority="high" decoding="async" height="877" sizes="(max-width: 781px) 100vw, 680px" srcset="https://linuxundich.de/wp-content/uploads/2026/11/01-fritzbox-nas-weboberflaeche-1-640x439.webp 640w, https://linuxundich.de/wp-content/uploads/2026/11/01-fritzbox-nas-weboberflaeche-1-768x526.webp 768w, https://linuxundich.de/wp-content/uploads/2026/11/01-fritzbox-nas-weboberflaeche-1-1280x877.webp 1280w, https://linuxundich.de/wp-content/uploads/2026/11/01-fritzbox-nas-weboberflaeche-1-1536x1053.webp 1536w, https://linuxundich.de/wp-content/uploads/2026/11/01-fritzbox-nas-weboberflaeche-1.webp 1780w" width="1280" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://linuxundich.de/wp-content/uploads/2026/11/01-fritzbox-nas-weboberflaeche-1-1280x877.webp" alt=""/><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button><figcaption class="wp-element-caption">The FritzNAS web interface in the browser: it shows the folders of the share, including the USB stick, with the buttons <em>Add</em>, <em>New folder</em> and <em>Refresh</em> and a search field.</figcaption></figure>



<h2 class="wp-block-heading">What to set up in the Fritzbox first</h2>



<p class="wp-block-paragraph">Nothing works without a user, because the Fritzbox does not let guests near the storage. Access over the network is always tied to an account. So create a dedicated user for the Linux machine under <em>System</em> | <em>FRITZ!Box Users</em> and give it the permission <em>Access to NAS content</em>, with <em>Full access</em> if you also want to write. A link to this page also sits in the storage settings under <em>Manage users</em>.</p>



<p class="wp-block-paragraph">You switch the services on under <em>Home Network</em> | <em>USB / Storage</em> | <em>Home Network Sharing</em>. There you need the checkbox for <em>Access via network drive (SMB)</em>. The share name is <code>FRITZ.NAS</code> out of the box and the workgroup is <code>WORKGROUP</code>. <em>Support for SMBv1</em> stays off; you do not need it. If you also want to use FTP, tick <em>Access via FTP</em>. In the <em>Device overview</em>, <em>NAS storage function</em> must also be set to <em>Active</em>.</p>



<figure data-wp-context="{&quot;imageId&quot;:&quot;6af58f8800c5f&quot;}" data-wp-interactive="core/image" data-wp-key="6af58f8800c5f" class="wp-block-image wp-lightbox-container"><img decoding="async" height="877" sizes="(max-width: 781px) 100vw, 680px" srcset="https://linuxundich.de/wp-content/uploads/2026/11/02-fritzbox-heimnetzfreigabe-1-640x439.webp 640w, https://linuxundich.de/wp-content/uploads/2026/11/02-fritzbox-heimnetzfreigabe-1-768x526.webp 768w, https://linuxundich.de/wp-content/uploads/2026/11/02-fritzbox-heimnetzfreigabe-1-1280x877.webp 1280w, https://linuxundich.de/wp-content/uploads/2026/11/02-fritzbox-heimnetzfreigabe-1-1536x1053.webp 1536w, https://linuxundich.de/wp-content/uploads/2026/11/02-fritzbox-heimnetzfreigabe-1.webp 1780w" width="1280" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://linuxundich.de/wp-content/uploads/2026/11/02-fritzbox-heimnetzfreigabe-1-1280x877.webp" alt=""/><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button><figcaption class="wp-element-caption">The <em>Home Network Sharing</em> tab of the Fritzbox with the checkboxes for SMB and FTP, the share name FRITZ.NAS and the list of users with access to NAS content.</figcaption></figure>



<p class="wp-block-paragraph">The share is reachable at <code>fritz.box</code>. It uses SMB, the protocol Windows also uses for network drives; AVM names versions 2 and 3. Below it lie the folders of the storage, and a plugged-in USB stick appears as a subfolder of its own. The name <code>fritz.box</code> only works inside the home network. The interface also shows the IP address of the box, which you can use instead of the name if <code>fritz.box</code> is ever not found.</p>



<div class="wp-block-group lui-callout is-tip is-layout-flow wp-block-group-is-layout-flow">
<p class="lui-callout-label wp-block-paragraph">// USB stick with USB 3.0</p>



<p class="wp-block-paragraph">The Fritzbox may at first report a USB 3.0 stick as USB 2.0 only. Under <em>Home Network</em> | <em>USB / Storage</em> | <em>USB Settings</em> you will find the <em>USB power saving mode</em>: it must be set to <em>Power Mode (USB 3.0)</em>, not <em>Green Mode (USB 2.0)</em>. Then unplug the stick once and plug it back in, and it shows up in the device overview as USB 3.0.</p>
</div>



<figure data-wp-context="{&quot;imageId&quot;:&quot;6af58f88018b4&quot;}" data-wp-interactive="core/image" data-wp-key="6af58f88018b4" class="wp-block-image wp-lightbox-container"><img decoding="async" height="877" sizes="(max-width: 781px) 100vw, 680px" srcset="https://linuxundich.de/wp-content/uploads/2026/11/03-fritzbox-usb-einstellungen-1-640x439.webp 640w, https://linuxundich.de/wp-content/uploads/2026/11/03-fritzbox-usb-einstellungen-1-768x526.webp 768w, https://linuxundich.de/wp-content/uploads/2026/11/03-fritzbox-usb-einstellungen-1-1280x877.webp 1280w, https://linuxundich.de/wp-content/uploads/2026/11/03-fritzbox-usb-einstellungen-1-1536x1053.webp 1536w, https://linuxundich.de/wp-content/uploads/2026/11/03-fritzbox-usb-einstellungen-1.webp 1780w" width="1280" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://linuxundich.de/wp-content/uploads/2026/11/03-fritzbox-usb-einstellungen-1-1280x877.webp" alt=""/><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button><figcaption class="wp-element-caption">The <em>USB Settings</em> of the Fritzbox: under <em>USB power saving mode</em>, <em>Power Mode</em> with USB 3.0 is selected, not <em>Green Mode</em> with USB 2.0.</figcaption></figure>



<p class="wp-block-paragraph">You can see whether it worked in the <em>Device overview</em>: the stick is listed as <em>USB storage</em>, with the note <em>USB 3.0</em> below it. On the Fritzbox 5690 Pro the power saving mode was active from the factory, which throttled the stick. The difference is noticeable, because in power saving mode the port only delivers USB 2.0 speed.</p>



<figure data-wp-context="{&quot;imageId&quot;:&quot;6af58f8801c80&quot;}" data-wp-interactive="core/image" data-wp-key="6af58f8801c80" class="wp-block-image wp-lightbox-container"><img loading="lazy" decoding="async" height="877" sizes="auto, (max-width: 781px) 100vw, 680px" srcset="https://linuxundich.de/wp-content/uploads/2026/11/04-fritzbox-geraeteuebersicht-1-640x439.webp 640w, https://linuxundich.de/wp-content/uploads/2026/11/04-fritzbox-geraeteuebersicht-1-768x526.webp 768w, https://linuxundich.de/wp-content/uploads/2026/11/04-fritzbox-geraeteuebersicht-1-1280x877.webp 1280w, https://linuxundich.de/wp-content/uploads/2026/11/04-fritzbox-geraeteuebersicht-1-1536x1053.webp 1536w, https://linuxundich.de/wp-content/uploads/2026/11/04-fritzbox-geraeteuebersicht-1.webp 1780w" width="1280" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://linuxundich.de/wp-content/uploads/2026/11/04-fritzbox-geraeteuebersicht-1-1280x877.webp" alt=""/><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button><figcaption class="wp-element-caption">The <em>Device overview</em> shows the internal storage of the Fritzbox and the Samsung stick, which now runs at USB 3.0.</figcaption></figure>



<div class="wp-block-group lui-callout is-tip is-layout-flow wp-block-group-is-layout-flow">
<p class="lui-callout-label wp-block-paragraph">// A dedicated user is worth it</p>



<p class="wp-block-paragraph">Do not use the main account of your Fritzbox for the Linux machine. A dedicated user with NAS permission but without rights to change settings limits the damage if the credentials end up in plain text somewhere. With <code>/etc/fstab</code> that happens faster than you might think. Such an account can also be locked or given a new password later without any other device noticing.</p>
</div>



<h2 class="wp-block-heading">GNOME: Files</h2>



<p class="wp-block-paragraph">On Ubuntu with GNOME you do not need to install anything; the support for network shares is on board. It is called GVfs and is the layer through which Nautilus accesses network shares. Open <em>Files</em>, press <code>Ctrl</code>+<code>L</code> and type <code>smb://fritz.box</code> into the location bar. Whether the box shows up in the network view does not matter; the direct address is enough.</p>



<p class="wp-block-paragraph">Under <em>Windows Network on fritz.box</em>, Nautilus first shows only the entry <em>FRITZ.NAS</em>, and it does not ask for a password yet. Only a double-click on it opens the login dialog. There you switch <em>Connect as</em> to <em>Registered User</em>, enter the Fritzbox user and password, and leave the domain at <code>WORKGROUP</code>. If you choose <em>Remember forever</em>, GNOME stores the password in the keyring and the dialog stays away from then on.</p>



<figure data-wp-context="{&quot;imageId&quot;:&quot;6af58f8802209&quot;}" data-wp-interactive="core/image" data-wp-key="6af58f8802209" class="wp-block-image wp-lightbox-container"><img loading="lazy" decoding="async" height="806" sizes="auto, (max-width: 781px) 100vw, 680px" srcset="https://linuxundich.de/wp-content/uploads/2026/11/05-nautilus-anmeldung-1-640x403.webp 640w, https://linuxundich.de/wp-content/uploads/2026/11/05-nautilus-anmeldung-1-768x484.webp 768w, https://linuxundich.de/wp-content/uploads/2026/11/05-nautilus-anmeldung-1-1280x806.webp 1280w, https://linuxundich.de/wp-content/uploads/2026/11/05-nautilus-anmeldung-1-1536x968.webp 1536w, https://linuxundich.de/wp-content/uploads/2026/11/05-nautilus-anmeldung-1.webp 1735w" width="1280" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://linuxundich.de/wp-content/uploads/2026/11/05-nautilus-anmeldung-1-1280x806.webp" alt=""/><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button><figcaption class="wp-element-caption">The login dialog when opening FRITZ.NAS: under <em>Connect as</em>, <em>Registered User</em> is selected, followed by user name, password and the option <em>Remember forever</em>.</figcaption></figure>



<p class="wp-block-paragraph">After that, Nautilus shows the folders of the share, and the sidebar on the left gets an entry for <code>fritz.nas on fritz.box</code>, through which you can reopen it at any time. The eject icon next to it ends the connection. The plugged-in USB stick appears as a folder of its own, named after the volume. Files can be copied, moved and deleted there like in any other folder.</p>



<figure data-wp-context="{&quot;imageId&quot;:&quot;6af58f88025d1&quot;}" data-wp-interactive="core/image" data-wp-key="6af58f88025d1" class="wp-block-image wp-lightbox-container"><img loading="lazy" decoding="async" height="806" sizes="auto, (max-width: 781px) 100vw, 680px" srcset="https://linuxundich.de/wp-content/uploads/2026/11/06-nautilus-freigabe-1-640x403.webp 640w, https://linuxundich.de/wp-content/uploads/2026/11/06-nautilus-freigabe-1-768x484.webp 768w, https://linuxundich.de/wp-content/uploads/2026/11/06-nautilus-freigabe-1-1280x806.webp 1280w, https://linuxundich.de/wp-content/uploads/2026/11/06-nautilus-freigabe-1-1536x968.webp 1536w, https://linuxundich.de/wp-content/uploads/2026/11/06-nautilus-freigabe-1.webp 1735w" width="1280" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://linuxundich.de/wp-content/uploads/2026/11/06-nautilus-freigabe-1-1280x806.webp" alt=""/><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button><figcaption class="wp-element-caption">After login, Nautilus shows the folders of the share, including the USB stick, and adds the connection to the sidebar.</figcaption></figure>



<p class="wp-block-paragraph">Even programs that know nothing about GNOME can reach the files. GNOME additionally exposes the share as an ordinary folder under <code>/run/user/1000/gvfs/smb-share:server=fritz.box,share=fritz.nas</code>, where <code>ls</code>, <code>cp</code> or <code>dd</code> work as usual. That helps with scripts. The path contains the user ID and exists only while the share is connected. On the command line, <code>gio mount</code> mounts the share without a file manager:</p>



<pre class="wp-block-code"><code>$ gio mount smb://fritz.box/FRITZ.NAS</code></pre>



<h2 class="wp-block-heading">KDE Plasma: Dolphin</h2>



<p class="wp-block-paragraph">On TUXEDO OS with Plasma, you press <code>Ctrl</code>+<code>L</code> in Dolphin, type <code>smb://fritz.box/</code> into the location bar and confirm with <code>Enter</code>. Unlike Nautilus, Dolphin asks for user name and password right away, before it shows anything. Enter the Fritzbox user and, if you do not want to see the dialog every time, tick <em>Remember password</em>.</p>



<figure data-wp-context="{&quot;imageId&quot;:&quot;6af58f8802b96&quot;}" data-wp-interactive="core/image" data-wp-key="6af58f8802b96" class="wp-block-image wp-lightbox-container"><img loading="lazy" decoding="async" height="806" sizes="auto, (max-width: 781px) 100vw, 680px" srcset="https://linuxundich.de/wp-content/uploads/2026/11/07-dolphin-anmeldung-1-640x403.webp 640w, https://linuxundich.de/wp-content/uploads/2026/11/07-dolphin-anmeldung-1-768x484.webp 768w, https://linuxundich.de/wp-content/uploads/2026/11/07-dolphin-anmeldung-1-1280x806.webp 1280w, https://linuxundich.de/wp-content/uploads/2026/11/07-dolphin-anmeldung-1-1536x968.webp 1536w, https://linuxundich.de/wp-content/uploads/2026/11/07-dolphin-anmeldung-1.webp 1735w" width="1280" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://linuxundich.de/wp-content/uploads/2026/11/07-dolphin-anmeldung-1-1280x806.webp" alt=""/><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button><figcaption class="wp-element-caption">Dolphin&#8217;s authentication dialog when opening smb://fritz.box: user name and password, with the checkbox <em>Remember password</em> below.</figcaption></figure>



<p class="wp-block-paragraph">When you open the share, Dolphin asks a second time, now for <code>FRITZ.NAS</code> itself (server <code>fritz.box</code>, resource <code>FRITZ.NAS</code>). The fields are already filled in, so you just confirm with <em>OK</em>. Dolphin then shows the folders of the share, and the USB stick again appears as a folder of its own. Reading and creating a folder worked in the test.</p>



<figure data-wp-context="{&quot;imageId&quot;:&quot;6af58f8802f5a&quot;}" data-wp-interactive="core/image" data-wp-key="6af58f8802f5a" class="wp-block-image wp-lightbox-container"><img loading="lazy" decoding="async" height="806" sizes="auto, (max-width: 781px) 100vw, 680px" srcset="https://linuxundich.de/wp-content/uploads/2026/11/08-dolphin-freigabe-1-640x403.webp 640w, https://linuxundich.de/wp-content/uploads/2026/11/08-dolphin-freigabe-1-768x484.webp 768w, https://linuxundich.de/wp-content/uploads/2026/11/08-dolphin-freigabe-1-1280x806.webp 1280w, https://linuxundich.de/wp-content/uploads/2026/11/08-dolphin-freigabe-1-1536x968.webp 1536w, https://linuxundich.de/wp-content/uploads/2026/11/08-dolphin-freigabe-1.webp 1735w" width="1280" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://linuxundich.de/wp-content/uploads/2026/11/08-dolphin-freigabe-1-1280x806.webp" alt=""/><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button><figcaption class="wp-element-caption">After login, Dolphin shows the folders of the FRITZ.NAS share, including the USB stick.</figcaption></figure>



<p class="wp-block-paragraph">Other programs do not see the share without further ado: Dolphin uses the KDE-specific layer KIO for this, which only KDE programs understand. An add-on service called kio-fuse would expose the share as a folder to all programs, but in the test it denied every access. Dolphin itself could write. If you need fixed paths that every program understands, <code>/etc/fstab</code> is the better choice.</p>



<h2 class="wp-block-heading">Permanent: the share in /etc/fstab</h2>



<p class="wp-block-paragraph">The file <code>/etc/fstab</code> defines which drives Linux mounts. If you enter the share there, you get an ordinary folder, for example <code>/mnt/fritz</code>. That pays off mainly for programs that only know regular paths, and for scripts without a login dialog. You need the package <code>cifs-utils</code> for this (usually already installed on Ubuntu). The credentials do not belong in the fstab, but in a separate file that only root may read:</p>



<pre class="wp-block-code"><code>$ sudo install -m 600 /dev/null /etc/fritz-smb.cred
$ sudo nano /etc/fritz-smb.cred</code></pre>



<pre data-lui-lang="ini" data-lui-file="/etc/fritz-smb.cred" class="wp-block-code"><code>username=YOUR_FRITZBOX_USER
password=YOUR_PASSWORD</code></pre>



<p class="wp-block-paragraph">Next you create the folder in which the share should appear (the mount point) and add a line to the fstab. It names the source, the mount point, the file system type and the options; the two zeros at the end always stay that way for network shares. The options <code>x-systemd.automount</code> and <code>noauto</code> make sure the share is only mounted on first access. That way the computer does not wait for the Fritzbox at boot or on foreign Wi-Fi:</p>



<pre class="wp-block-code"><code>$ sudo mkdir -p /mnt/fritz
$ sudo nano /etc/fstab</code></pre>



<pre data-lui-lang="conf" data-lui-file="/etc/fstab" class="wp-block-code"><code>//fritz.box/FRITZ.NAS  /mnt/fritz  cifs  credentials=/etc/fritz-smb.cred,uid=1000,gid=1000,file_mode=0644,dir_mode=0755,noserverino,_netdev,nofail,noauto,x-systemd.automount,x-systemd.idle-timeout=60,x-systemd.mount-timeout=10  0  0</code></pre>



<div class="wp-block-group lui-callout is-info is-layout-flow wp-block-group-is-layout-flow">
<p class="lui-callout-label wp-block-paragraph">// uid and gid</p>



<p class="wp-block-paragraph">With <code>uid</code> and <code>gid</code> you decide which user and which group the files of the share belong to on your computer. Linux knows both internally only as numbers. On desktop systems the first user created usually gets 1000, but the group number can differ: on one of the test machines it was 1004. <code>id</code> shows your numbers, and <code>id -u</code> and <code>id -g</code> return them individually:</p>



<pre class="wp-block-code"><code>$ id
uid=1000(NAME) gid=1000(NAME) groups=1000(NAME),27(sudo)
$ id -u
1000
$ id -g
1000</code></pre>
</div>



<p class="wp-block-paragraph">Then you reload the configuration and trigger the mount with a first access. In the test this worked right away, and after 60 seconds of idleness systemd released the mount again, leaving the folder behind as an empty trigger. <code>uid</code> and <code>gid</code> should match your account; the box above shows how to find them. Without <code>file_mode</code> and <code>dir_mode</code>, all files appear as executable:</p>



<pre class="wp-block-code"><code>$ sudo systemctl daemon-reload
$ ls /mnt/fritz</code></pre>



<div class="wp-block-group lui-callout is-warning is-layout-flow wp-block-group-is-layout-flow">
<p class="lui-callout-label wp-block-paragraph">// Without noserverino: &#8220;Stale file handle&#8221;</p>



<p class="wp-block-paragraph">In the test, the default mount ran into an error: after the cache had been cleared, a file that had just been written could no longer be opened, and the system reported <em>Stale file handle</em>. With the option <code>noserverino</code> the problem was gone, while <code>nohandlecache</code> did not help. It could be reproduced on Ubuntu and TUXEDO OS, on internal storage and on the stick, in every run. <code>noserverino</code> therefore always belongs in the options for a Fritzbox.</p>



<p class="wp-block-paragraph">Linux identifies every file by an internal number supplied by the server. The Fritzbox, however, reports changing numbers for the same file, in the test first one and after clearing the cache a completely different one. Linux then takes the file for a different one and gives up. With <code>noserverino</code>, Linux assigns the numbers itself, and the problem disappears.</p>



<p class="wp-block-paragraph">The price is that Linux no longer recognizes links to the same file (hard links), which hardly matters on a photo archive. Why the box answers this way is not clear. The same error appears in the <a href="https://community.home-assistant.io/t/samba-error-with-fritz-nas-cifs-stale-file-handle/567110">Home Assistant forum</a> (&#8220;Samba error with Fritz.Nas: CIFS stale file handle&#8221;) and in an <a href="https://github.com/getumbrel/umbrel/issues/2199">Umbrel issue</a> with a Fritzbox as storage, where the same option helped.</p>
</div>



<h3 class="wp-block-heading">Alternative for advanced users: systemd units instead of fstab</h3>



<p class="wp-block-paragraph">If you prefer working with systemd units, you write a <code>.mount</code> and an <code>.automount</code> file instead of the fstab line. The result is the same, because systemd generates exactly these units from the fstab anyway. The advantage: each unit can be checked individually with <code>systemctl status</code>, and the messages end up in a log of their own with <code>journalctl -u mnt-fritz.mount</code>.</p>



<p class="wp-block-paragraph">The file names are not freely selectable; they must match the path of the mount point. <code>/mnt/fritz</code> becomes <code>mnt-fritz</code>. Both files live in <code>/etc/systemd/system/</code>. You do not need to create the mount point by hand, since systemd creates <code>/mnt/fritz</code> itself on the first mount. <code>systemd-escape</code> shows which name systemd expects; for the first file it is <code>mnt-fritz.mount</code>:</p>



<pre class="wp-block-code"><code>$ systemd-escape -p --suffix=mount /mnt/fritz
mnt-fritz.mount</code></pre>



<pre data-lui-lang="systemd" data-lui-file="/etc/systemd/system/mnt-fritz.mount" class="wp-block-code"><code>[Unit]
Description=Fritzbox share FRITZ.NAS
After=network-online.target
Wants=network-online.target

[Mount]
What=//fritz.box/FRITZ.NAS
Where=/mnt/fritz
Type=cifs
Options=credentials=/etc/fritz-smb.cred,uid=1000,gid=1000,file_mode=0644,dir_mode=0755,noserverino
TimeoutSec=10</code></pre>



<p class="wp-block-paragraph">Next comes <code>mnt-fritz.automount</code>. The options <code>_netdev</code>, <code>nofail</code>, <code>noauto</code> and the <code>x-systemd.…</code> entries of the fstab line are dropped, because the sections of the units take over their jobs: <code>After=network-online.target</code> waits for the network, and <code>TimeoutIdleSec=60</code> disconnects after a minute of idleness. The <code>.automount</code> file makes sure the share is only mounted on first access and disappears again after a while without use. It points to the same mount point as the <code>.mount</code> file:</p>



<pre data-lui-lang="systemd" data-lui-file="/etc/systemd/system/mnt-fritz.automount" class="wp-block-code"><code>[Unit]
Description=Mount Fritzbox share FRITZ.NAS on access

[Automount]
Where=/mnt/fritz
TimeoutIdleSec=60

[Install]
WantedBy=multi-user.target</code></pre>



<p class="wp-block-paragraph">You enable the <code>.automount</code> file, not the <code>.mount</code> file. First systemd reads the new files, then the automount starts immediately and by itself after every reboot. In the test the mount point then stood ready as <code>autofs</code> while the actual mount was still inactive. The first access mounted the share, and after 75 seconds of idleness only the <code>autofs</code> trigger was left:</p>



<pre class="wp-block-code"><code>$ sudo systemctl daemon-reload
$ sudo systemctl enable --now mnt-fritz.automount
$ ls /mnt/fritz</code></pre>



<p class="wp-block-paragraph">Another advantage shows with services that should not run without the share, such as a backup or a media server. They add a single line to the <code>[Unit]</code> section of their unit. In the test, systemd mounted the share itself when such a service started and only then launched it. In <code>systemctl list-dependencies</code>, <code>mnt-fritz.mount</code> then appears as a dependency. With the fstab line this is only possible via detours:</p>



<pre data-lui-lang="systemd" data-lui-file="my-service.service" class="wp-block-code"><code>[Unit]
RequiresMountsFor=/mnt/fritz</code></pre>



<p class="wp-block-paragraph">If you have a laptop that moves between networks, an older article about the <a href="https://linuxundich.de/netzwerkfreigaben-automatisch-einhaengen-was-beim-networkmanager-dispatcher-schiefgehen-kann/">NetworkManager dispatcher</a> (in German) describes another variant, pitfalls included. There the share is mounted by a script as soon as the home network is reachable and unmounted again when the network changes. That is an alternative to the automount if the connection should really exist only on the home network.</p>



<h2 class="wp-block-heading">Multiple users and computers</h2>



<p class="wp-block-paragraph">The Fritzbox assigns the permissions, not Linux. Every user under <em>System</em> | <em>FRITZ!Box Users</em> gets the permission <em>Access to NAS content</em>. When editing the user (pencil icon) you decide how far it reaches: <em>Full access</em> for reading and writing, <em>Read-only access</em> or <em>Individual settings</em>. With the individual variant you choose, folder by folder, where the user may read and where they may also write.</p>



<p class="wp-block-paragraph">It makes sense to have one user per person instead of one account for everyone. That way an account can be locked later without the others needing a new password, and a guest or a child gets only <em>Read-only access</em>. The same account may log in from several computers at once, which worked without problems in the test. If you change a password, you must update the credentials file used by the fstab.</p>



<p class="wp-block-paragraph">The Linux permissions on the mounted folder, on the other hand, are only a facade. They merely determine what <code>ls -l</code> displays: in the test, <code>chmod 600</code> reported success and left the mode at 644 anyway, and <code>chown root</code> did not change the owner. Anyone who really wants to lock something down does so in the Fritzbox, not with <code>chmod</code>. The same applies to the options <code>uid</code>, <code>gid</code>, <code>file_mode</code> and <code>dir_mode</code> of the fstab line: they only change the display.</p>



<p class="wp-block-paragraph">On a computer with several accounts, the fstab mount has exactly one login, and every local user who can get into the folder works with the rights of that Fritzbox user. With <code>dir_mode=0755</code>, even the system user <code>nobody</code> could list the folder in the test. On shared computers, set <code>dir_mode=0700</code> or a dedicated group with <code>gid=</code> and <code>dir_mode=0770</code>. The route through <em>Files</em> in GNOME or KDE&#8217;s Dolphin, by contrast, logs in each account individually.</p>



<div class="wp-block-group lui-callout is-warning is-layout-flow wp-block-group-is-layout-flow">
<p class="lui-callout-label wp-block-paragraph">// No locks between computers</p>



<p class="wp-block-paragraph">If two computers access the same file, the Fritzbox does not protect you. In the test, a virtual machine held a lock on a file, and a second, real computer got the very same lock anyway. Programs that rely on such locks, such as SQLite databases or the KeePass password file, should therefore never be open on the share from two devices at the same time.</p>
</div>



<p class="wp-block-paragraph">The cache plays a role too. With the default settings, the second computer saw a changed file immediately. With <code>cache=loose,actimeo=30</code>, it still read the old content one second after the change. For folders that several people write to, the default therefore stays. In any case, the share belongs on the home network. Never open the SMB port 445 of the Fritzbox to the internet; when you are away, a VPN does the job.</p>



<h2 class="wp-block-heading">More options: smbclient, FTP and rclone</h2>



<p class="wp-block-paragraph">For one-off copying, the package <code>smbclient</code> is enough. It needs no mount and no extra rights, and the credentials file from above can be reused with <code>-A</code>. FTP works too once you have enabled <em>Access via FTP</em>: the Fritzbox then has port 21 open, and <code>curl</code> uploads files. Dolphin and Nautilus understand <code>ftp://</code> as well, but it is inconvenient as a permanent solution. A download with <code>smbclient</code> and an upload via FTP look like this:</p>



<pre class="wp-block-code"><code>$ smbclient //fritz.box/FRITZ.NAS -A /path/to/cred -c &quot;get file&quot;
$ curl --user USER -T file ftp://fritz.box/</code></pre>



<h3 class="wp-block-heading">Example: nightly backup to the Fritzbox</h3>



<p class="wp-block-paragraph">A typical use for <code>smbclient</code> is a backup that runs at night. The script packs a folder into a <code>tar.gz</code> archive and pushes it to the share. The weekday is part of the file name, so there are at most seven archives that overwrite each other in turn, and you need no cleanup script. The credentials file is the same as for the fstab, and you replace <code>NAME_OF_THE_STICK</code> with the folder of your stick:</p>



<pre data-lui-lang="bash" data-lui-file="~/bin/fritz-backup.sh" class="wp-block-code"><code>#!/bin/bash
# Nightly backup: push a folder as tar.gz to the Fritzbox
set -euo pipefail

SOURCE=&quot;$HOME/Documents&quot;                 # this folder gets backed up
SHARE=&quot;//fritz.box/FRITZ.NAS&quot;
TARGET=&quot;NAME_OF_THE_STICK/Backup&quot;        # folder on the share
CRED=&quot;$HOME/.fritz-smb&quot;                  # credentials file with username= and password=
FILE=&quot;/tmp/backup-$(date +%a).tar.gz&quot;    # weekday in the name: seven archives in rotation

tar -czf &quot;$FILE&quot; -C &quot;$(dirname &quot;$SOURCE&quot;)&quot; &quot;$(basename &quot;$SOURCE&quot;)&quot;
smbclient &quot;$SHARE&quot; -A &quot;$CRED&quot; -c &quot;mkdir $TARGET&quot; &gt;/dev/null 2&gt;&amp;1 || true
smbclient &quot;$SHARE&quot; -A &quot;$CRED&quot; -c &quot;put $FILE $TARGET/$(basename &quot;$FILE&quot;)&quot;
rm -f &quot;$FILE&quot;</code></pre>



<p class="wp-block-paragraph">For a test, run the script twice: the first time it creates the target folder, the second time it overwrites the archive from the same weekday. With an impossible target it ends with exit code 1, so that a timer records the error in the log. Fetching an archive back and unpacking it worked as well; only the weekday in the file name has to match the state you want:</p>



<pre class="wp-block-code"><code>$ smbclient //fritz.box/FRITZ.NAS -A ~/.fritz-smb -c &quot;get NAME_OF_THE_STICK/Backup/backup-Mon.tar.gz&quot;
$ tar -xzf backup-Mon.tar.gz</code></pre>



<p class="wp-block-paragraph">If you prefer FTP, replace the two <code>smbclient</code> lines with a <code>curl</code> call. The target folder is created automatically. The credentials live in a separate file in your home directory that only you may read (<code>chmod 600</code>), so the password appears neither in the script nor in the process list. This too should work for you; in the test the archive landed in the target folder on the stick:</p>



<pre class="wp-block-code"><code>$ install -m 600 /dev/null ~/.fritz-netrc
$ nano ~/.fritz-netrc</code></pre>



<pre data-lui-lang="conf" data-lui-file="~/.fritz-netrc" class="wp-block-code"><code>machine fritz.box login YOUR_FRITZBOX_USER password YOUR_PASSWORD</code></pre>



<pre class="wp-block-code"><code>curl --fail --silent --show-error --ftp-create-dirs \
     --netrc-file &quot;$HOME/.fritz-netrc&quot; \
     -T &quot;$FILE&quot; &quot;ftp://fritz.box/$TARGET/$(basename &quot;$FILE&quot;)&quot;</code></pre>



<p class="wp-block-paragraph">For the night you need a timer. Under systemd, two small files in the user directory <code>~/.config/systemd/user/</code> are enough, and the script lives at <code>~/bin/fritz-backup.sh</code>. The service starts the script, and the timer calls it at 2:30 a.m. <code>Persistent=true</code> catches up on a missed run, for example when the computer was off at that time:</p>



<pre data-lui-lang="systemd" data-lui-file="~/.config/systemd/user/fritz-backup.service" class="wp-block-code"><code>[Unit]
Description=Backup to the Fritzbox

[Service]
Type=oneshot
ExecStart=%h/bin/fritz-backup.sh</code></pre>



<pre data-lui-lang="systemd" data-lui-file="~/.config/systemd/user/fritz-backup.timer" class="wp-block-code"><code>[Unit]
Description=Backup to the Fritzbox every night

[Timer]
OnCalendar=*-*-* 02:30
Persistent=true

[Install]
WantedBy=timers.target</code></pre>



<p class="wp-block-paragraph">You enable the timer, not the service. The third command starts a run immediately so you can see whether everything works, and the fourth shows the log. In the test, the next run then appeared in the list for 2:30 a.m., and the manually started run put the archive on the stick:</p>



<pre class="wp-block-code"><code>$ systemctl --user enable --now fritz-backup.timer
$ systemctl --user list-timers fritz-backup.timer
$ systemctl --user start fritz-backup.service
$ journalctl --user -u fritz-backup.service</code></pre>



<p class="wp-block-paragraph">If you want to address several cloud storages and the Fritzbox with one tool, use <code>rclone</code> with the SMB backend. The share is set up there as a storage of its own, and the share name <code>FRITZ.NAS</code> goes into the path. Copying and mirroring a folder worked in the test. With this command the password ends up in the shell history; if you want to avoid that, enter it interactively through <code>rclone config</code> instead:</p>



<pre class="wp-block-code"><code>$ rclone config create fritz smb host fritz.box user YOUR_USER pass YOUR_PASSWORD --obscure
$ rclone sync ~/Documents fritz:FRITZ.NAS/NAME_OF_THE_STICK/Backup/Documents</code></pre>



<p class="wp-block-paragraph">WebDAV and SSH (sshfs), on the other hand, are not possible: port 22 is closed, and there appears to be no WebDAV access to the storage. In everyday use that hardly matters, because SMB and FTP cover the usual cases: uploading files, storing backups and mounting a share as a folder. NFS gets a section of its own further down.</p>



<h2 class="wp-block-heading">Speed comparison</h2>



<p class="wp-block-paragraph">The measurements ran on a TUXEDO laptop with Ubuntu 26.04.1, GNOME 50.1 and kernel 7.0, connected through a 2.5 Gbit USB adapter to a Fritzbox 5690 Pro attached to a gigabit port. Two storages were tested: the internal one of the box (1.7 GB) and a 128 GB USB 3.0 stick. Every test ran three times, and the table shows the median. A 512 MB file (filled with zeros, cache cleared before each read) was read and written.</p>



<figure class="wp-block-table"><table><thead><tr><th class="has-text-align-left" data-align="left">Method</th><th class="has-text-align-right" data-align="right">Write internal (MB/s)</th><th class="has-text-align-right" data-align="right">Write stick (MB/s)</th><th class="has-text-align-right" data-align="right">Read internal (MB/s)</th><th class="has-text-align-right" data-align="right">Read stick (MB/s)</th></tr></thead><tbody><tr><td class="has-text-align-left" data-align="left">GVfs (Files/Nautilus)</td><td class="has-text-align-right" data-align="right">49.2</td><td class="has-text-align-right" data-align="right">60.2</td><td class="has-text-align-right" data-align="right">66.3</td><td class="has-text-align-right" data-align="right">64.6</td></tr><tr><td class="has-text-align-left" data-align="left">mount.cifs, SMB 3.1.1</td><td class="has-text-align-right" data-align="right">45.5</td><td class="has-text-align-right" data-align="right">44.9</td><td class="has-text-align-right" data-align="right">104.7</td><td class="has-text-align-right" data-align="right">104.9</td></tr><tr><td class="has-text-align-left" data-align="left">mount.cifs, SMB 3.0</td><td class="has-text-align-right" data-align="right">45.3</td><td class="has-text-align-right" data-align="right">44.8</td><td class="has-text-align-right" data-align="right">104.4</td><td class="has-text-align-right" data-align="right">104.6</td></tr><tr><td class="has-text-align-left" data-align="left">mount.cifs, SMB 2.1</td><td class="has-text-align-right" data-align="right">45.7</td><td class="has-text-align-right" data-align="right">45.1</td><td class="has-text-align-right" data-align="right">104.8</td><td class="has-text-align-right" data-align="right">105.2</td></tr><tr><td class="has-text-align-left" data-align="left">mount.cifs, <code>cache=loose</code></td><td class="has-text-align-right" data-align="right">48.4</td><td class="has-text-align-right" data-align="right">44.6</td><td class="has-text-align-right" data-align="right">109.4</td><td class="has-text-align-right" data-align="right">109.4</td></tr><tr><td class="has-text-align-left" data-align="left">smbclient</td><td class="has-text-align-right" data-align="right">54.7</td><td class="has-text-align-right" data-align="right">70.6</td><td class="has-text-align-right" data-align="right">106.8</td><td class="has-text-align-right" data-align="right">103.9</td></tr><tr><td class="has-text-align-left" data-align="left">FTP (curl)</td><td class="has-text-align-right" data-align="right">53.9</td><td class="has-text-align-right" data-align="right">65.5</td><td class="has-text-align-right" data-align="right">107.7</td><td class="has-text-align-right" data-align="right">107.6</td></tr></tbody></table></figure>



<figure data-wp-context="{&quot;galleryId&quot;:&quot;6af58f880491f&quot;}" data-wp-interactive="core/gallery" class="wp-block-gallery has-nested-images columns-2 wp-block-gallery-1 is-layout-flex wp-block-gallery-is-layout-flex">

<figure data-wp-context="{&quot;imageId&quot;:&quot;6af58f88052e3&quot;}" data-wp-interactive="core/image" data-wp-key="6af58f88052e3" class="wp-block-image size-full wp-lightbox-container"><img loading="lazy" decoding="async" width="988" height="832" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" data-id="375" src="https://linuxundich.de/en/wp-content/uploads/2026/11/09a-measurement-write.webp" alt="" class="wp-image-375" srcset="https://linuxundich.de/en/wp-content/uploads/2026/11/09a-measurement-write.webp 988w, https://linuxundich.de/en/wp-content/uploads/2026/11/09a-measurement-write-300x253.webp 300w, https://linuxundich.de/en/wp-content/uploads/2026/11/09a-measurement-write-768x647.webp 768w" sizes="auto, (max-width: 781px) 100vw, 680px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button><figcaption class="wp-element-caption">Large file, write: kernel mount at 45 MB/s, smbclient and FTP up to 71 on the stick.</figcaption></figure>



<figure data-wp-context="{&quot;imageId&quot;:&quot;6af58f8805e0a&quot;}" data-wp-interactive="core/image" data-wp-key="6af58f8805e0a" class="wp-block-image size-full wp-lightbox-container"><img loading="lazy" decoding="async" width="988" height="832" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" data-id="376" src="https://linuxundich.de/en/wp-content/uploads/2026/11/09b-measurement-read.webp" alt="" class="wp-image-376" srcset="https://linuxundich.de/en/wp-content/uploads/2026/11/09b-measurement-read.webp 988w, https://linuxundich.de/en/wp-content/uploads/2026/11/09b-measurement-read-300x253.webp 300w, https://linuxundich.de/en/wp-content/uploads/2026/11/09b-measurement-read-768x647.webp 768w" sizes="auto, (max-width: 781px) 100vw, 680px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button><figcaption class="wp-element-caption">Large file, read: all but GVfs reach just over 100 MB/s, limited by gigabit.</figcaption></figure>



<figure data-wp-context="{&quot;imageId&quot;:&quot;6af58f8806964&quot;}" data-wp-interactive="core/image" data-wp-key="6af58f8806964" class="wp-block-image size-full wp-lightbox-container"><img loading="lazy" decoding="async" width="988" height="832" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" data-id="377" src="https://linuxundich.de/en/wp-content/uploads/2026/11/09c-measurement-small-files.webp" alt="" class="wp-image-377" srcset="https://linuxundich.de/en/wp-content/uploads/2026/11/09c-measurement-small-files.webp 988w, https://linuxundich.de/en/wp-content/uploads/2026/11/09c-measurement-small-files-300x253.webp 300w, https://linuxundich.de/en/wp-content/uploads/2026/11/09c-measurement-small-files-768x647.webp 768w" sizes="auto, (max-width: 781px) 100vw, 680px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button><figcaption class="wp-element-caption">300 small files: GVfs needs over 2 seconds, the kernel mount under 1.</figcaption></figure>



<figure data-wp-context="{&quot;imageId&quot;:&quot;6af58f880740d&quot;}" data-wp-interactive="core/image" data-wp-key="6af58f880740d" class="wp-block-image size-full wp-lightbox-container"><img loading="lazy" decoding="async" width="988" height="832" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" data-id="378" src="https://linuxundich.de/en/wp-content/uploads/2026/11/09d-measurement-options.webp" alt="" class="wp-image-378" srcset="https://linuxundich.de/en/wp-content/uploads/2026/11/09d-measurement-options.webp 988w, https://linuxundich.de/en/wp-content/uploads/2026/11/09d-measurement-options-300x253.webp 300w, https://linuxundich.de/en/wp-content/uploads/2026/11/09d-measurement-options-768x647.webp 768w" sizes="auto, (max-width: 781px) 100vw, 680px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button><figcaption class="wp-element-caption">Kernel mount options: nostrictsync gives 95 MB/s, sign drops to 25.6.</figcaption></figure>

</figure>



<p class="wp-block-paragraph">The same runs were repeated later on the same laptop under TUXEDO OS (kernel 7.2, Plasma). The values are almost identical: the kernel mount writes at 46 to 49 MB/s and reads at 105 MB/s, <code>smbclient</code> writes at 64 to 68 MB/s, FTP at 52 to 65 MB/s, depending on the storage. Deviations of more than 3 MB/s occurred only when writing with <code>smbclient</code> to the internal storage (64 instead of 55 MB/s).</p>



<p class="wp-block-paragraph">When reading large files, it is not Linux that holds things back but the network: the Fritzbox sits on a gigabit port, and a good 100 MB/s is just under what such a connection can deliver. Internal storage and stick give the same result. The laptop&#8217;s 2.5 Gbit adapter is not used to capacity. The SMB version makes no difference; 2.1, 3.0 and 3.1.1 are equally fast.</p>



<p class="wp-block-paragraph">When writing, the kernel mount stays at around 45 MB/s, whether internal or on the stick. <code>smbclient</code> and FTP, by contrast, write to the USB 3 stick at 65 to 71 MB/s, and GVfs at 60 MB/s. So the storage is not the bottleneck with the kernel mount, and the measuring method is not the cause either; that was cross-checked.</p>



<p class="wp-block-paragraph">The cause turned up while trying out settings. Buffer sizes (<code>wsize</code>) and other options change nothing, and packet signing (<code>sign</code>) even costs almost half. With <code>nostrictsync</code>, however, writing jumps to around 95 MB/s. The option stops Linux from demanding, when a file is closed, that the box write it to the storage medium. The box then reports &#8220;done&#8221; before the data is on the stick.</p>



<div class="wp-block-group lui-callout is-warning is-layout-flow wp-block-group-is-layout-flow">
<p class="lui-callout-label wp-block-paragraph">// Use nostrictsync with care</p>



<p class="wp-block-paragraph">The speed of <code>nostrictsync</code> is bought at a price: the data initially sits only in the working memory of the Fritzbox. If the power fails there, or you pull the stick right after copying, files can be missing or damaged. For backups the option should stay off; for a photo archive that you back up elsewhere anyway, it is acceptable.</p>
</div>



<p class="wp-block-paragraph">With many small files (300 of 16 KB each), GVfs is clearly behind: on the stick it needs 2.4 seconds to write and 2.5 to read, the kernel mount only 0.8. For a few photos that goes unnoticed, for a folder with thousands of files it does not. On the internal storage the picture was the same (2.3 against 0.7 seconds).</p>



<p class="wp-block-paragraph"><code>cache=loose</code> brings four percent when reading and nothing measurable when writing. You will hardly notice four percent in everyday use. In return, the computer sees changes made by other devices later. For a network drive that several people use, it should stay off. The measurements come from a single day and a single router, so the values are guideposts, not guarantees.</p>



<div class="wp-block-group lui-callout is-info is-layout-flow wp-block-group-is-layout-flow">
<p class="lui-callout-label wp-block-paragraph">// Which method for what</p>



<p class="wp-block-paragraph">For everyday use, the share in the file manager is fast enough and the most convenient. If you copy many files or let programs access the share, use <code>/etc/fstab</code> with <code>x-systemd.automount</code>. For single large files that you write to the box, <code>smbclient</code> or FTP are fastest. It is best to do without <code>cache=loose</code> and <code>nostrictsync</code> as long as several devices write.</p>
</div>



<h2 class="wp-block-heading">NFS and Freetz</h2>



<p class="wp-block-paragraph">The Fritzbox itself offers no NFS: the box does not answer on ports 2049 and 111. In the past, the add-on project <a href="https://freetz.github.io/wiki/">Freetz</a> helped; among other things it retrofitted an NFS server. The original Freetz is considered outdated, its last release dates from 2012. In old forum posts you will find many guides that refer to boxes and firmware versions that have long since stopped being current.</p>



<p class="wp-block-paragraph">The fork <a href="https://freetz-ng.github.io/freetz-ng/">Freetz-NG</a>, which continues the work of the original project, is alive: its <a href="https://freetz-ng.github.io/freetz-ng/NEWS/">news</a> run up to November 2026, and a new version appeared in September. An NFS server with a web interface also remains part of it, the <a href="https://freetz-ng.github.io/freetz-ng/make/nfsd-cgi/">nfsd-cgi</a>. The <a href="https://freetz-ng.github.io/freetz-ng/FIRMWARES/">list of supported firmware</a> includes many Fritzboxes, among them the 5690 Pro. If you want to try it, first find out which firmware your own box runs.</p>



<p class="wp-block-paragraph">It is still no sure thing. Freetz-NG replaces the box&#8217;s firmware with a self-built image, and according to the news, newer FRITZ!OS 8.5 versions only partly work, with many patches failing. The documentation of the NFS server names only an old Fritzbox 7390 as a test device. For the 5690 Pro it is untested, and the gain would be modest: when reading, the network is already at its limit, and when writing, it is the writing to the storage medium that slows things down.</p>



<h2 class="wp-block-heading">Experiences and measurements</h2>



<p class="wp-block-paragraph">How do you mount your Fritzbox shares? Experiences and tips are welcome in the comments, especially on other Fritzbox models and firmware versions, on USB storage with other file systems and on per-user folder permissions, which this test could not settle. Measurements from faster storage or a 2.5 Gbit port on the box are welcome too.</p>
<hr><p>☕ <strong>Support Linux und Ich</strong><br>Thanks for reading <a href="https://linuxundich.de/en/">Linux und Ich</a>. If you enjoy the blog and would like to support my work, you will find more information on the <a href="https://linuxundich.de/en/support/">donation page</a>.</p>]]></content:encoded>
					
					<wfw:commentRss>https://linuxundich.de/en/mount-fritzbox-share-linux-samba-gnome-plasma-fstab/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
