Hi @mandapavankumar you can try below sample code, assuming system user is having all required permission in publish environment -
@Activate
public void createLocalUser() {
try {
Map<String, Object> param = new HashMap<>();
param.put(ResourceResolverFactory.SUBSERVICE, "system-user");
ResourceResolver resolver = resolverFactory.getServiceResourceResolver(param);
UserManager userManager = resolver.adaptTo(UserManager.class);
Authorizable user = userManager.createUser("newlocaluser", "password");
user.setProperty("firstName", "test");
user.setProperty("lastName", "user");
user.addGroup("group1");
userManager.updateUser(user);
LOG.info("Local user newlocaluser created successfully.");
resolver.close();
} catch (LoginException | RepositoryException e) {
LOG.error("Error creating local user: {}", e.getMessage());
}