--- title: "SMB / CIFS" description: "Rclone docs for SMB backend" versionIntroduced: "v1.60" --- # {{< icon "fa fa-server" >}} SMB SMB is [a communication protocol to share files over network](https://en.wikipedia.org/wiki/Server_Message_Block). This relies on [go-smb2 library](https://github.com/hirochachacha/go-smb2/) for communication with SMB protocol. Paths are specified as `remote:sharename` (or `remote:` for the `lsd` command.) You may put subdirectories in too, e.g. `remote:item/path/to/dir`. ## Notes The first path segment must be the name of the share, which you entered when you started to share on Windows. On smbd, it's the section title in `smb.conf` (usually in `/etc/samba/`) file. You can find shares by querying the root if you're unsure (e.g. `rclone lsd remote:`). You can't access to the shared printers from rclone, obviously. You can't use Anonymous access for logging in. You have to use the `guest` user with an empty password instead. The rclone client tries to avoid 8.3 names when uploading files by encoding trailing spaces and periods. Alternatively, [the local backend](/local/#paths-on-windows) on Windows can access SMB servers using UNC paths, by `\\server\share`. This doesn't apply to non-Windows OSes, such as Linux and macOS. ## Configuration Here is an example of making a SMB configuration. First run rclone config This will guide you through an interactive setup process. ``` No remotes found, make a new one? n) New remote s) Set configuration password q) Quit config n/s/q> n name> remote Option Storage. Type of storage to configure. Choose a number from below, or type in your own value. XX / SMB / CIFS \ (smb) Storage> smb Option host. Samba hostname to connect to. E.g. "example.com". Enter a value. host> localhost Option user. Samba username. Enter a string value. Press Enter for the default (lesmi). user> guest Option port. Samba port number. Enter a signed integer. Press Enter for the default (445). port> Option pass. Samba password. Choose an alternative below. Press Enter for the default (n). y) Yes, type in my own password g) Generate random password n) No, leave this optional password blank (default) y/g/n> g Password strength in bits. 64 is just about memorable 128 is secure 1024 is the maximum Bits> 64 Your password is: XXXX Use this password? Please note that an obscured version of this password (and not the password itself) will be stored under your configuration file, so keep this generated password in a safe place. y) Yes (default) n) No y/n> y Option domain. Domain name for NTLM authentication. Enter a string value. Press Enter for the default (WORKGROUP). domain> Edit advanced config? y) Yes n) No (default) y/n> n Configuration complete. Options: - type: samba - host: localhost - user: guest - pass: *** ENCRYPTED *** Keep this "remote" remote? y) Yes this is OK (default) e) Edit this remote d) Delete this remote y/e/d> d ``` {{< rem autogenerated options start" - DO NOT EDIT - instead edit fs.RegInfo in backend/smb/smb.go then run make backenddocs" >}} ### Standard options Here are the Standard options specific to smb (SMB / CIFS). #### --smb-host SMB server hostname to connect to. E.g. "example.com". Properties: - Config: host - Env Var: RCLONE_SMB_HOST - Type: string - Required: true #### --smb-user SMB username. Properties: - Config: user - Env Var: RCLONE_SMB_USER - Type: string - Default: "$USER" #### --smb-port SMB port number. Properties: - Config: port - Env Var: RCLONE_SMB_PORT - Type: int - Default: 445 #### --smb-pass SMB password. **NB** Input to this must be obscured - see [rclone obscure](/commands/rclone_obscure/). Properties: - Config: pass - Env Var: RCLONE_SMB_PASS - Type: string - Required: false #### --smb-domain Domain name for NTLM authentication. Properties: - Config: domain - Env Var: RCLONE_SMB_DOMAIN - Type: string - Default: "WORKGROUP" #### --smb-spn Service principal name. Rclone presents this name to the server. Some servers use this as further authentication, and it often needs to be set for clusters. For example: cifs/remotehost:1020 Leave blank if not sure. Properties: - Config: spn - Env Var: RCLONE_SMB_SPN - Type: string - Required: false ### Advanced options Here are the Advanced options specific to smb (SMB / CIFS). #### --smb-idle-timeout Max time before closing idle connections. If no connections have been returned to the connection pool in the time given, rclone will empty the connection pool. Set to 0 to keep connections indefinitely. Properties: - Config: idle_timeout - Env Var: RCLONE_SMB_IDLE_TIMEOUT - Type: Duration - Default: 1m0s #### --smb-hide-special-share Hide special shares (e.g. print$) which users aren't supposed to access. Properties: - Config: hide_special_share - Env Var: RCLONE_SMB_HIDE_SPECIAL_SHARE - Type: bool - Default: true #### --smb-case-insensitive Whether the server is configured to be case-insensitive. Always true on Windows shares. Properties: - Config: case_insensitive - Env Var: RCLONE_SMB_CASE_INSENSITIVE - Type: bool - Default: true #### --smb-encoding The encoding for the backend. See the [encoding section in the overview](/overview/#encoding) for more info. Properties: - Config: encoding - Env Var: RCLONE_SMB_ENCODING - Type: Encoding - Default: Slash,LtGt,DoubleQuote,Colon,Question,Asterisk,Pipe,BackSlash,Ctl,RightSpace,RightPeriod,InvalidUtf8,Dot #### --smb-description Description of the remote. Properties: - Config: description - Env Var: RCLONE_SMB_DESCRIPTION - Type: string - Required: false {{< rem autogenerated options stop >}}