Created on 10-08-2015 03:29 PM
NiFi can be deployed to run as any non-root user. By default NiFi runs as user "nifi", but this can be modified.
For instructions, https://nifi.apache.org/docs/nifi-docs/html/administration-guide.html then go to 'Admin Guide' then go to 'Bootstrap Properties’. In there it talks about 'run.as'
Created on 10-08-2015 03:41 PM
If you installed NiFi as an Ambari service, there is a field controlling the runtime account for NiFi. It's 'nifi' by default.
Created on 10-08-2015 04:29 PM
Note that you would need to add this user to the list of sudoers first which the documentation hadn't mentioned. I ran into the same while building the ambari service. See https://issues.apache.org/jira/browse/NIFI-930
Created on 10-08-2015 04:34 PM
Good point. In particular, we should add the user to sudoers list in case their chosen processors access privilege ports or system resources.
Created on 01-11-2016 08:40 PM
By Default NiFi will run as what ever user starts NiFi. NiFi can however be configured to start as a specific user by setting the run.as= property inside the bootstrap.conf file. *** Note that the user configured in this property will need to have sudo privileges to the java executable on linux based deployments. This could interfere with some processors that are dependent on the java process being owned by a particular user since it will be owned by root.
*** Setting the run.as user allows you to setup NiFi as a service that can be configured to start as part of the OS starting.