feat(testbed/cron): use useradd; check username
This commit is contained in:
		
							parent
							
								
									937bf9e000
								
							
						
					
					
						commit
						585b8ad82a
					
				@ -2,8 +2,14 @@
 | 
			
		||||
set -ex
 | 
			
		||||
THIS_DIR=$( cd "$( dirname "${BASH_SOURCE[0]:-${(%):-%x}}" )" && pwd )
 | 
			
		||||
 | 
			
		||||
check_username() {
 | 
			
		||||
    ( echo $1 | grep -qxE "^[a-z][-a-z0-9_]*\$" ) || return 1
 | 
			
		||||
    return 0
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
touch_user() {
 | 
			
		||||
    test -n "$1"
 | 
			
		||||
    check_username $1 || { echo "Invalid user name $1 !"; exit -1; }
 | 
			
		||||
    if id -u $1 1>/dev/null 2>&1; then
 | 
			
		||||
        return
 | 
			
		||||
    fi
 | 
			
		||||
@ -12,13 +18,8 @@ touch_user() {
 | 
			
		||||
        exit 1
 | 
			
		||||
    fi
 | 
			
		||||
 | 
			
		||||
    adduser \
 | 
			
		||||
        --shell /bin/bash \
 | 
			
		||||
        --disabled-password \
 | 
			
		||||
        --home /home/$1 \
 | 
			
		||||
        --gecos "nasp member" \
 | 
			
		||||
        $1
 | 
			
		||||
    usermod -a -G nasp $1
 | 
			
		||||
    useradd -m --groups nasp $1
 | 
			
		||||
    su - $1 -c "true"
 | 
			
		||||
 | 
			
		||||
    mkdir -p /home2/$1
 | 
			
		||||
    chown $1: /home2/$1
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user