Skip to content

RANGER-5698 : Disable Unix Authentication Service by default - #1171

Open
fimugdha wants to merge 1 commit into
apache:masterfrom
fimugdha:RANGER-5698
Open

RANGER-5698 : Disable Unix Authentication Service by default#1171
fimugdha wants to merge 1 commit into
apache:masterfrom
fimugdha:RANGER-5698

Conversation

@fimugdha

Copy link
Copy Markdown
Contributor

What changes were proposed in this pull request?

The Unix Authentication service is rarely utilized for Ranger authentication, as the vast majority of deployments have migrated to modern alternatives like PAM or LDAP.

To optimize default startup behavior, we are removing the Unix Authentication service from the Ranger Usersync default startup sequence.

Moving forward, this service will run only if explicitly enabled via the ranger.usersync.unix.auth.enabled property within the ranger-ugsync-site.xml configuration file.

How was this patch tested?

  1. Brought up ranger core services: ranger, usersync, tagsync, pdp and kms in containers.
  2. Created a user on ranger & usersync containers.
  3. Set the password for the user.
  4. User got synced successfully on Ranger Admin.
  5. Login was successfully with the user password on Ranger Admin with PAM authentication.

@fimugdha fimugdha self-assigned this Aug 21, 2026
@fimugdha
fimugdha requested a review from vyommani August 24, 2026 05:48

@kumaab kumaab left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @fimugdha for the patch, added a few comments.

&& rm -f /home/ranger/dist/ranger-${RANGER_VERSION}-admin.tar.gz \
&& rm -f /opt/ranger/admin/install.properties \
&& mkdir -p /var/run/ranger /var/log/ranger /usr/share/java/ \
&& chmod 755 ${RANGER_SCRIPTS}/setup-ranger-shadow-group.sh \

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Adding users/groups have moved to the base image: https://github.com/apache/ranger-tools/blob/main/docker/Dockerfile , please see this script: https://github.com/apache/ranger-tools/blob/0e27092aedb0db01be54300f2936a6244e80ec6c/docker/create_users_and_groups.sh#L1 if a user like shadow is really required to be added.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@kumaab, Created this pull-request on ranger-tools repository : apache/ranger-tools#16. Could you please review ? It will be needed for me to test this ranger side changes.

Comment thread dev-support/ranger-docker/README.md Outdated
private static final String SSL_TRUSTSTORE_FILE_TYPE_PARAM = "ranger.truststore.file.type";
private static final String SSL_KEYSTORE_PATH_PARAM = "ranger.usersync.keystore.file";
private static final String SSL_KEYSTORE_PATH_PASSWORD_PARAM = "ranger.usersync.keystore.password";
private static final String SSL_KEYSTORE_PATH_PARAM = "ranger.usersync.service.https.attrib.keystore.file";

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

it seems setup.py still using "ranger.usersync.keystore.file" and ranger-ugsync-template.xml does not have entry of ranger.usersync.service.https.attrib.keystore.file ; am i missing something here.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@pradeepagrawal8184, the "ranger.usersync.keystore.file" will be used in case of unix authentication is enabled.

The "ranger.usersync.service.https.attrib.keystore.file" new config changes where not added as a part of this PR - https://github.com/apache/ranger/pull/1103/changes#diff-20795b8427231f8ec96f91b20a1bae2804a6f23327f44fe6156ee8677e9109f5.

Currently SSL enable is not used on default docker setup.

Do you think I need to handle the change of adding this new config into the usersync install.properties and in ranger-ugsync-template.xml files in this pull-request ?

Comment thread unixauthservice/conf.dist/ranger-ugsync-default.xml Outdated
Comment thread unixauthservice/scripts/install.properties Outdated
# Also, Unix authentication is enabled in Ranger Admin.
# defaults to false
ENABLE_UNIX_AUTH = false

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

what will happen to upgrade case by default. probably they have to edit this line if they want to continue with unixauth.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes. How upgrade scenario for such use-cases are getting handled on apache side ?

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, if he usage this updated file as is for upgrade then he needs to know the new default behaviours. mainly when he is already using unix auth before the upgrade.

LOG.info("Service: {} - STOPPED", serviceName);
if (this.userSyncHAInitializerImpl != null) {
LOG.info("Stopping curator leader latch service as main thread is closing");
this.userSyncHAInitializerImpl.stop();

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you test this once when unix auth is disabled and usersync is running in HA once.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@pradeepagrawal8184, Sure, I will test it and keep you updated.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants