mirror of
https://github.com/rclone/rclone.git
synced 2025-12-06 00:03:32 +00:00
309 lines
6.8 KiB
Markdown
309 lines
6.8 KiB
Markdown
---
|
||
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/CloudSoda/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
|
||
|
||
```sh
|
||
rclone config
|
||
```
|
||
|
||
This will guide you through an interactive setup process.
|
||
|
||
```text
|
||
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
|
||
|
||
#### --smb-use-kerberos
|
||
|
||
Use Kerberos authentication.
|
||
|
||
If set, rclone will use Kerberos authentication instead of NTLM. This
|
||
requires a valid Kerberos configuration and credentials cache to be
|
||
available, either in the default locations or as specified by the
|
||
KRB5_CONFIG and KRB5CCNAME environment variables.
|
||
|
||
|
||
Properties:
|
||
|
||
- Config: use_kerberos
|
||
- Env Var: RCLONE_SMB_USE_KERBEROS
|
||
- Type: bool
|
||
- Default: 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-kerberos-ccache
|
||
|
||
Path to the Kerberos credential cache (krb5cc).
|
||
|
||
Overrides the default KRB5CCNAME environment variable and allows this
|
||
instance of the SMB backend to use a different Kerberos cache file.
|
||
This is useful when mounting multiple SMB with different credentials
|
||
or running in multi-user environments.
|
||
|
||
Supported formats:
|
||
- FILE:/path/to/ccache – Use the specified file.
|
||
- DIR:/path/to/ccachedir – Use the primary file inside the specified directory.
|
||
- /path/to/ccache – Interpreted as a file path.
|
||
|
||
Properties:
|
||
|
||
- Config: kerberos_ccache
|
||
- Env Var: RCLONE_SMB_KERBEROS_CCACHE
|
||
- Type: string
|
||
- Required: false
|
||
|
||
#### --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 >}}
|