@Override public synchronized void dropUser(String user) throws AccumuloSecurityException { final String encodedUser = Base64.getEncoder().encodeToString(user.getBytes(UTF_8)); try { zkAuthenticator.dropUser(encodedUser); } catch (AccumuloSecurityException e) { throw new AccumuloSecurityException(user, e.asThriftException().getCode(), e.getCause()); } }
@Override public void visit(State state, Environment env, Properties props) throws Exception { Connector conn = env.getConnector(); Random rand = (Random) state.get("rand"); @SuppressWarnings("unchecked") List<String> userNames = (List<String>) state.get("users"); String userName = userNames.get(rand.nextInt(userNames.size())); try { log.debug("Dropping user " + userName); conn.securityOperations().dropLocalUser(userName); } catch (AccumuloSecurityException ex) { log.debug("Unable to drop " + ex.getCause()); } } }
@Override public void visit(State state, Environment env, Properties props) throws Exception { Connector conn = env.getConnector(); Random rand = (Random) state.get("rand"); @SuppressWarnings("unchecked") List<String> userNames = (List<String>) state.get("users"); String userName = userNames.get(rand.nextInt(userNames.size())); try { log.debug("Creating user " + userName); conn.securityOperations().createLocalUser(userName, new PasswordToken(userName + "pass")); } catch (AccumuloSecurityException ex) { log.debug("Create user failed " + ex.getCause()); } } }
@Override public void visit(State state, Environment env, Properties props) throws Exception { Connector conn = env.getConnector(); Random rand = (Random) state.get("rand"); @SuppressWarnings("unchecked") List<String> userNames = (List<String>) state.get("users"); String userName = userNames.get(rand.nextInt(userNames.size())); try { List<byte[]> auths = new ArrayList<>( conn.securityOperations().getUserAuthorizations(userName).getAuthorizations()); if (rand.nextBoolean()) { String authorization = String.format("a%d", rand.nextInt(5000)); log.debug("adding authorization " + authorization); auths.add(authorization.getBytes(UTF_8)); } else { if (auths.size() > 0) { log.debug("removing authorization " + new String(auths.remove(0), UTF_8)); } } conn.securityOperations().changeUserAuthorizations(userName, new Authorizations(auths)); } catch (AccumuloSecurityException ex) { log.debug("Unable to change user authorizations: " + ex.getCause()); } }
changeNamespacePermission(conn, rand, userName, namespace); } catch (AccumuloSecurityException ex) { log.debug("Unable to change user permissions: " + ex.getCause()); } catch (AccumuloException ex) { Throwable cause = ex.getCause();
@Override public synchronized void dropUser(String user) throws AccumuloSecurityException { final String encodedUser = Base64.encodeBase64String(user.getBytes(UTF_8)); try { zkAuthenticator.dropUser(encodedUser); } catch (AccumuloSecurityException e) { throw new AccumuloSecurityException(user, e.asThriftException().getCode(), e.getCause()); } }
log.debug("Unable to check permissions: " + ex.getCause());