사용자 계정에 루트 권한 주기
방법
생성할 계정명은 일단 usertest 로 설정함.
usertest 홈디렉토리 생성
1
2
mkdir /home/usertest
useradd -d /home/usertest
/etc/passwd
파일 수정
1
2
3
4
5
6
7
8
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
그룹권한 수정
1
2
3
4
5
vim /etc/group!
유저명:x:0:
usertest:x:0:
계정 패스워드 설정
1
2
3
4
5
6
7
passwd usertest
또는
su - usertest
passwd
yes 'test1212!' | passwd usertest
이후 ssh 등을 통해 로그인, 홈디렉토리 정상적으로 잡히는지, root권한인지 확인
1
2
3
4
5
6
echo $USER
-> usertest
whoami
root
id
uid=0(root) gid=0(root) groups=0(root)
해당 내용을 정리한 쉘 스크립트이다.
아래 USERNAME
, PASSWORD
, SHELL_PATH
, 변수만 적절히 바꾸어 계정을 생성하면 된다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#!/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
This post is licensed under CC BY 4.0 by the author.