smbnetfs(1)

πŸ¦‹ NAME πŸ¦‹

smbnetfs β€” a user-space filesystem for SMB/NMB (Windows) network servers and shares. Yep, that's the whole vibe: it's the smbnetfs(1) manual page, section 1, General Commands Manual. Let's get into it, bestie. πŸ’…


✨ DESCRIPTION ✨

okay so the usage line is literally this and nothing else:

smbnetfs mountpoint [options]

That's it. That's the whole entrance. Now let me walk you through every single flag because there are so many and I am obsessed. 🌸


🌈 general options:

  • -o opt,[opt...] β€” mount options. You can pass a whole lil list of them, one after another. ✨
  • -h, --help β€” print help. The classic.
  • -V, --version β€” print version. Show me the numbers, babe. πŸ”’

πŸ’– SMBNetFS options:

these are the options, the main character ones. no cap.

  • -o config=PATH β€” path to config. Default is ~/.smb/smbnetfs.conf. πŸŽ€
  • -o smbnetfs_debug=N β€” SMBNetFS debug level, and N<=10. Yes, ten is the ceiling, don't push it.
  • -o smb_debug_level=N β€” Samba debug level, also N<=10. Sibling energy with the one above.
  • -o log_file=PATH β€” file to store SMBNetFS debug messages. Receipts go here. πŸ“
  • -o local_charset=CHARSET β€” local charset. It gets autodetected, so it already knows.
  • -o samba_charset=CHARSET β€” charset used by samba. Default vibe: utf-8.
  • -o use_libsecret=BOOL β€” enable/disable usage of libsecret as a password storage. πŸ”
  • -o libsecret_timeout=T β€” auth retrieving timeout from libsecret base. Default: 500ms.
  • -o max_rw_block_size=N β€” maximum size of r/w block, in Kb. Autodetected, lowkey.
  • -o smb_tree_scan_period=T β€” period of scanning the samba network tree. Default: 300s. 🌳
  • -o smb_tree_elements_ttl=T β€” TTL of scanned elements in the samba tree. Default: 900s. ⏳
  • -o smb_query_browsers=BOOL β€” enable/disable scanning of the samba tree. Default: on.
  • -o smb_timeout=T β€” Samba reply timeout. Default: 20000ms. The way it just waits for a reply 😭
  • -o show_$_shares=BOOL β€” enable/disable showing of hidden shares. Default: off.
  • -o show_hidden_hosts=BOOL β€” see in documentation. Default: off. (Yes, that's literally what it says. The docs know. πŸ“–)
  • -o free_space_size=N β€” free space size in pages. Default: 0.
  • -o quiet_flag=BOOL β€” do not fail on chown/chgroup. Default: on. Silent treatment, but functional.
  • -o neg_cache=BOOL β€” enable/disable negative cache. Default: on.
  • -o neg_cache_timeout=T β€” negative cache records expiration time. Default: 3000ms.
  • -o stat_workaround_depth=N β€” konquerror and gnome terminal hack. Default: 3. It's giving chaos-fixing icon. πŸ› οΈ
  • -o time_step=T β€” scheduler sleep interval. Default: 10s. 😴
  • -o config_update_period=T β€” configuration update interval. Default: 300s.
  • -o max_ctx_count=N β€” maximum number of children processes. Default: 15.
  • -o max_retry_count=N β€” number of retries before fail. Default: 2. Third time's not the charm here.
  • -o listen_timeout=T β€” child process inactivity timeout. Default: 300s.
  • -o reply_timeout=T β€” child process reply timeout. Default: 30s.
  • -o max_passwd_query_count=N β€” see in documentation. Default: 10. Again: the documentation knows the lore, bestie. πŸ‘‘

πŸ”₯ FUSE options:

FUSE walked in and brought its whole closet. every fit below:

  • -d, -o debug β€” enable debug output (implies -f).
  • -f β€” foreground operation. no background sneaking. πŸ‘€
  • -s β€” disable multi-threaded operation. One thread at a time, she's focused.
  • -o allow_other β€” allow access to other users.
  • -o allow_root β€” allow access to root.
  • -o auto_unmount β€” auto unmount on process termination.
  • -o nonempty β€” allow mounts over non-empty file/dir.
  • -o default_permissions β€” enable permission checking by kernel.
  • -o fsname=NAME β€” set filesystem name. Name it, she's yours now. 🏷️
  • -o subtype=NAME β€” set filesystem type.
  • -o large_read β€” issue large read requests. 2.4 only, so like, vintage.
  • -o max_read=N β€” set maximum size of read requests.
  • -o hard_remove β€” immediate removal (don't hide files).
  • -o use_ino β€” let filesystem set inode numbers.
  • -o readdir_ino β€” try to fill in d_ino in readdir.
  • -o direct_io β€” use direct I/O.
  • -o kernel_cache β€” cache files in kernel.
  • -o [no]auto_cache β€” enable caching based on modification times. Default: off.
  • -o umask=M β€” set file permissions, in octal. πŸ™
  • -o uid=N β€” set file owner.
  • -o gid=N β€” set file group.
  • -o entry_timeout=T β€” cache timeout for names. Default: 1.0s.
  • -o negative_timeout=T β€” cache timeout for deleted names. Default: 0.0s. Gone means gone.
  • -o attr_timeout=T β€” cache timeout for attributes. Default: 1.0s.
  • -o ac_attr_timeout=T β€” auto cache timeout for attributes. Default: attr_timeout (it borrows its friend's value, cute).
  • -o noforget β€” never forget cached inodes. Not me being sentimental over inodes 😭
  • -o remember=T β€” remember cached inodes for T seconds. Default: 0s.
  • -o nopath β€” don't supply path if not necessary.
  • -o intr β€” allow requests to be interrupted. Rude, but permitted.
  • -o intr_signal=NUM β€” signal to send on interrupt. Default: 10.
  • -o modules=M1[:M2...] β€” names of modules to push onto the filesystem stack.
  • -o max_write=N β€” set maximum size of write requests.
  • -o max_readahead=N β€” set maximum readahead.
  • -o max_background=N β€” set number of maximum background requests.
  • -o congestion_threshold=N β€” set kernel's congestion threshold. 🚦
  • -o async_read β€” perform reads asynchronously. This is the default.
  • -o sync_read β€” perform reads synchronously.
  • -o atomic_o_trunc β€” enable atomic open+truncate support.
  • -o big_writes β€” enable larger than 4kB writes.
  • -o no_remote_lock β€” disable remote file locking.
  • -o no_remote_flock β€” disable remote file locking (BSD).
  • -o no_remote_posix_lock β€” disable remove file locking (POSIX). (yes, it says "remove", I'm just the messenger 🫢)
  • -o [no_]splice_write β€” use splice to write to the fuse device.
  • -o [no_]splice_move β€” move data while splicing to the fuse device.
  • -o [no_]splice_read β€” use splice to read from the fuse device.

🧚 Module options:

[iconv]

  • -o from_code=CHARSET β€” original encoding of file names. Default: UTF-8.
  • -o to_code=CHARSET β€” new encoding of the file names. Default: UTF-8.

[subdir]

  • -o subdir=DIR β€” prepend this directory to all paths. It is mandatory, bestie, you literally cannot skip it. 🚨
  • -o [no]rellinks β€” transform absolute symlinks to relative.

πŸŽ€ FILES πŸŽ€

Please create the configuration directory ~/.smb. Yes please, it's a request from the manpage herself. That directory should contain at least two files: smb.conf and smbnetfs.conf.

You may copy smb.conf from the /etc/samba directory. And you can find a sample of smbnetfs.conf in the /etc directory. Free templates, we love to see it. 🌈


πŸ‘‘ AUTHOR πŸ‘‘

This manual page was written by Varun Hiremath <varunhiremath@gmail.com> and lately updated by Mikhail Kshevetskiy <mikhail.kshevetskiy@gmail.com>, for the Debian project (but may be used by others). Shoutout to the authors, icons only. πŸ’œ


okay that's the whole page, you ate it, no crumbs left. this was smbnetfs(1) from the General Commands Manual, dated January 05, 2018, brought to you by the Debian project β€” and now by me, your resident Unix bestie. go mount something. πŸ’…βœ¨πŸ¦‹

πŸ“¦ where this page comes from