JHH9232 Blog

사용자 계정에 루트 권한 주기


|

방법

생성할 계정명은 일단 usertest 로 설정함.

usertest 홈디렉토리 생성

mkdir /home/usertest
useradd -d /home/usertest

/etc/passwd 파일 수정

vim /etc/passwd

유저명:x:0:0:유저명:홈디렉토리_경로:쉘경로

# zsh 이용
usertest:x:0:0:usertest:/home/usertest:/bin/zsh
# bash 이용
usertest:x:0:0:usertest:/home/usertest:/bin/bash

/etc/group 그룹권한 수정

vim /etc/group!

유저명:x:0:

usertest:x:0:

계정 패스워드 설정

passwd usertest

또는
su - usertest
passwd

yes 'test1212!' | passwd usertest

이후 ssh 등을 통해 로그인, 홈디렉토리 정상적으로 잡히는지, root권한인지 확인

echo $USER
-> usertest
whoami
root
id
uid=0(root) gid=0(root) groups=0(root)

해당 내용을 정리한 쉘 스크립트이다.

아래 USERNAME, PASSWORD, SHELL_PATH, 변수만 적절히 바꾸어 계정을 생성하면 된다.

#!/bin/bash

USERNAME=usertest
PASSWORD="test1212!"
SHELL_PATH=/bin/bash

is_exist=`cat /etc/passwd | grep "^$USERNAME:"`
if [[ $is_exist != "" ]]; then
	echo "user name exist"
	exit
fi

HOME_PATH=/home/$USERNAME
if [ ! -d $HOME_PATH ]; then
	mkdir $HOME_PATH
else
	echo "home directory exist"
fi
# useradd
useradd $USERNAME -d $HOME_PATH

# /etc/passwd change
sed -i "s#^$USERNAME:x:.*#$USERNAME:x:0:0::$HOME_PATH:$SHELL_PATH#" /etc/passwd

# /etc/group change
sed -i "s#^$USERNAME:x:.*#$USERNAME:x:0:#" /etc/group

# password setting
yes $PASSWORD | passwd $USERNAME

Comments