Authentication

If the server you are attempting to contact requires authentication, you will need to supply a username and password.  The username should be added in front of the server name with an @ character in between.  You will then be prompted to enter a password.

syncdat localpath user@example.com:/path/remotedir

You may also specify the password on the command line by adding a colon after the username.

syncdat localpath user:password@example.com:/path/remotedir

This is useful in scripts, but is not generally recommended as it could allow your password to be viewed by other persons using your system.  Instead, it is recommended that you use the Password Storage method below when preparing for scripts.

syncdat will not prompt for a password if the terminal is non-interactive.  For example, if it is run within a script and the password cannot be found in the cache or on the command line, syncdat will fail immediately with an authentication error.

Characters

Usernames and passwords must be less than 32 characters, or the limit imposed by the server operating system, whichever is less.

Usernames and passwords should consist of only ASCII letters, numbers, and printable symbols.  The use of other characters, such as extended unicode characters, may work in some environments but is not assured and may compromise security.

Windows Domains

If the server is running on a Windows system with Active Directory or LDAP enabled, you may specify an authentication domain by using the "-W" option.  For example:

syncdat -W domain localpath user:password@example.com:/path/remotedir

Non-windows servers will interpret this as a username in the form "username@domain", which may or may not make sense to the operating system.

Password Caching

syncdat will store the password for each combination of username, host IP address, and port number so that you do not need to retype it every time.  The cached password remains valid for four hours or until it generates an authentication error.

Passwords are automatically cached only after an operation completes successfully.

The password is encrypted prior to storage for security.  You may disable password caching by using the -C option or the NoPWCache configuration variable.

In unix systems, the password cache is $HOME/.dei-pwcache1.  In Windows, it is %APPDATA%\DEI\dei-pwcache1.dat.  You may reset the cache by deleting this file.

The contents of the password cache are encrypted.  To view a list of currently cached credentials, enable diagnostics with " -d 1 " in any authenticated movedat command.  For example:

# syncdat -d 1 -n localpath user@example.com:/path/remotedir Seeking /Users/me/.dei-pwcache1 Cached user@69.60.121.178:8080 PERMANENT Expired user@192.168.1.1:8080 Password for user@example.com: Caching password for user@192.168.1.1:8080

Password Storage

Passwords may be permanently stored in the dei-pwcache1 file.  This is useful for scripts or frequently accessed servers.

Use the -A command line option to add to a set of credentials to storage:

syncdat [-p port] -A user[:password]@example.com:

If you do not specify a port, the default 8080 will be assumed.  If you do not specify a password, you will be prompted for one.  For example:

syncdat -A username@example.com:

If you wish to expire and remove credentials, including those cached temporarily, use the -E command line option:

syncdat [-p port] -E username@example.com:

Note that the username, port number, and server must match for the credentials to be used.  If the server returns a Bad Credentials error, the entry will be automatically removed from the cache.