.. _credentials-username-password: ====================================================== Managing credentials: username/password authentication ====================================================== For username/password authentication, you need create and configure a ``password file`` for mdtmFTP server. On the server side ================== On each host that runs mdtmFTP server, create a password file by using globus password tools, such as ``globus-gridftp-password-nostdin``, which are available in ``/usr/local/mdtmftp/1.1.1/sbin/`` in the ``mdtmftp:1.1.1-xenial`` docker image. For example, assuming user account ``mdtmftp`` has been added in container and in host, you can run the following commands to create a password file ``/home/mdtmwork/passfile``, and to assign password ``123456`` to ``mdtmftp``: .. code-block:: console $ mkdir -p /home/mdtmwork && cd /home/mdtmwork $ touch passfile $ docker run \ -u mdtmftp \ -v `pwd`:/mdtmwork \ publicregistry.fnal.gov/bigdata_express/mdtmftp:1.1.1-xenial \ /usr/local/mdtmftp/1.1.1/sbin/globus-gridftp-password-nostdin >> passfile 123456 A line like below will be added in ``/home/mdtmwork/passfile``: .. code-block:: console mdtmftp:c1CvYmpprfOpc:4001:4001::/home/mdtmftp:/bin/bash Repeat the docker command if you need to set up passwords for other users. On the client side ================== Assume that a user ``mdtmftp`` with password ``123456`` has been configured on the server side. To submit a data transfer job using this username and password, run mdtmFTP client like: .. code-block:: console $ sudo docker run \ -ti --rm \ --net=host \ -v `pwd`:/mdtmwork \ publicregistry.fnal.gov/bigdata_express/mdtmftp:1.1.1-xenial \ /usr/local/mdtmftp/1.1.1/bin/mdtm-ftp-client \ -vb -p 4 ftp://mdtmftp:123456@bde1.fnal.gov:5050/data1/linux-4.13.4/ file:///tmp/ More example are in :ref:`examples-username-password`.