Merge pull request #237 from YunoHost/ynh_system_user_create_delete

Nouveaux helpers ynh_system_user_create et ynh_system_user_delete
This commit is contained in:
Laurent Peuch 2017-02-12 03:49:02 +01:00 committed by GitHub
commit 83dca8e7c6

View file

@ -38,3 +38,34 @@ ynh_user_list() {
ynh_system_user_exists() { ynh_system_user_exists() {
getent passwd "$1" &>/dev/null getent passwd "$1" &>/dev/null
} }
# Create a system user
#
# usage: ynh_system_user_create user_name [home_dir]
# | arg: user_name - Name of the system user that will be create
# | arg: home_dir - Path of the home dir for the user. Usually the final path of the app. If this argument is omitted, the user will be created without home
ynh_system_user_create () {
if ! ynh_system_user_exists "$1" # Check if the user exists on the system
then # If the user doesn't exist
if [ $# -ge 2 ]; then # If a home dir is mentioned
user_home_dir="-d $2"
else
user_home_dir="--no-create-home"
fi
sudo useradd $user_home_dir --system --user-group $1 --shell /usr/sbin/nologin || ynh_die "Unable to create $1 system account"
fi
}
# Delete a system user
#
# usage: ynh_system_user_delete user_name
# | arg: user_name - Name of the system user that will be create
ynh_system_user_delete () {
if ynh_system_user_exists "$1" # Check if the user exists on the system
then
echo "Remove the user $1" >&2
sudo userdel $1
else
echo "The user $1 was not found" >&2
fi
}