VMware - Setup Groups and Users
This page describes how the current servers access & permissions are setup.
Using the user-defined bash script to create groups and users. I avoid putting sudo instructions in the script because the file /etc/sudoers is sensitive to edit and should only be edit by su -c visudo
#!/bin/bash # Author: Henry Jiang # Script: setupAccess # Summary: set up groups and users # Syntax: setupAccess.sh <group> <user> if [[ ! $# > 0 ]] then echo "Usage: setupAccess <group> <user> " exit fi if [[ $# == 0 ]] then echo "Please specify a group name" exit fi if [[ $# == 1 ]] then echo "Please specify a user name" exit fi group="$1" user="$2" defaultpass="newpass" password=`openssl passwd $defaultpass` if [[ ! $? == 0 ]] then echo "openssl not installed!" exit fi #Try to create the group, if it already exist, add user to group groupadd -r $group if [[ ! $? == 0 ]] then echo "Group $group already exists, adding user: $user to group." useradd -g $group -p $password -d /home/$user -m $user if [[ $? == 0 ]] then echo "User '$user' added to group '$group' with default password '$defaultpass'" exit else echo "failed to create user" exit fi else echo "Group $group has been created, creating user: $user ..." useradd -g $group -p $password -d /home/$user -m $user if [[ $? == 0 ]] then echo "User '$user' added to group '$group' with default password '$defaultpass'" exit else echo "failed to create user" exit fi fi
The above script is located at root's home folder(~), only root have permissions to rwx this file.
Setting up groups, users, and sudo on servers
DB
[root@CentOSDB17882 ~]# ./setupAccess.sh dbadmin henry
Group webadmin has been created, creating user: henry ...
User 'henry' added to group 'webadmin' with default password 'newpass'
WEB
[root@CentOSWeb17881 ~]# ./setupAccess.sh webadmin henry
Group webadmin has been created, creating user: henry ...
User 'henry' added to group 'webadmin' with default password 'newpass'
GEO
[root@CentOSGeo17883 ~]# ./setAccess.sh geoadmin henry
Group geoadmin has been created, creating user: henry ...
User 'henry' added to group 'geoadmin' with default password 'newpass'
Add group to sudoers
[root@CentOSGeo17883 ~]# su -c visudo
scroll to the bottom and add
## reboot, add any additional commands here Cmnd_Alias USER_DEFINED = /sbin/reboot ## sudo commands allowed for geo admins %geoadmin ALL = SOFTWARE, SERVICES, STORAGE, DELEGATING, PROCESSES, USER_DEFINED
Same for other servers.
Groups for developers are also setup in the same manner:
For DB:
[root@CentOSDB17882 ~]# ./setupAccess.sh dbdev paul