Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

By default, ecflow requires a user name. By default

ecflow_client will use the login name(UID) for the user name by default

The name is used for logging and to enable/disable access, when used in ecFlow White list file or Black list file

However, this can be problematic in certain cases, when working remotely, where the login name (UID) used on the remote machine(client) does not match the UID for user  the user for accessing the server.

To get round around this we can specify the user:


  • Code Block
    languagebash
    titleECF_USER
    export ECF_USER=fred; 
    ecflow_client --ping   # send a message to the server posing as user fred



  • Code Block
    languagebash
    title--user
    ecflow_client --user fred --ping # send a message to the server posing as user fred 



  • Code Block
    languagepy
    titlepython
    import ecflow
    cl = ecflow.Client("polonius",3142)
    cl.set_user_name("fred")
    cl.ping()


However, However this would allow user to pose as someone else. Hence in order to use this functionality, a password must be provided.  See Black list file

Additionally, we do not want all user users to be forced to use a password just because one user is working remotely.

Hence ecflow_server has special support for the password for those users, using ECF_USER or --user on the client-side.

An additional password file , can be specified ECF_CUSTOM_USER can be used. (the format is the same as Black list file).

Code Block
<host>.<port>.ecf.custom_passwd

The server will load look for this file during server start time.startup, alternatively, we can explicitly set  the ECF_CUSTOM_PASSWD environment variable

Code Block
export ECF_CUSTOM_USERPASSWD=polonius.3142.ecf.custom_passwd
ecflow_start.sh -p 3142

Additionally, if new users are added/removed this file can be reloaded at run time with:

...