-
LINUX 계정 생성/변경/삭제 하는 방법System of Infra/Linux System 2022. 3. 2. 16:05728x90반응형
LINUX 계정 생성/변경/삭제하는 방법
[root@localhost /]# cat /etc/passwd | grep -i root root:x:0:0:root:/root:/bin/bash [root@localhost /]# cat /etc/shadow | grep -i root root:$6$MJwYqEVQpPMPnQyF$fPaow7WPscywsCbrw71v855sUGuJeYHi9s919aGUCxyU/rlytznJlPFkvUHbWiRa.iJuMUOy5hTQDh0E3lNKo/::0:99999:7:::
▶ 기본적으로 슈퍼 관리자(root)를 포함한 모든 유저 계정에서는 아래 설명과 같이 지정된 값이 설정되어 있습니다. 또한 계정의 패스워드는 /etc/shadow 파일에 암호화되어 저장되어 있게 됩니다.
[순서]
사용자 이름:암호:사용자 ID:사용자 그룹:전체 이름:홈 디렉터리:기본 셸[root@localhost /]# useradd user1
▶ user1이라는 유저 계정을 생성해 보도록 하겠습니다.
[root@localhost /]# cat /etc/passwd | grep -i user1 user1:x:1001:1001::/home/user1:/bin/bash
▶ 계정 생성시 별도의 그룹 및 홈 디렉터리를 지정해주지 않는 경우 /home 아래로 디렉터리가 설정되고 자기 자신의 그룹을 생성하고 해당 그룹에 속하게 됩니다.
[root@localhost /]# cat /etc/group | grep -i user1 user1:x:1001:
▶ 계정 생성시 그룹을 따로 지정해주지 않았기 때문에 user1의 계정은 자기 자신의 user1 그룹을 생성하여 1001번에 소속 되게 됩니다.
[root@localhost /]# userdel -r user1
▶ userdel user1을 수행할 경우 최초에 생성된 홈 디렉터리가 남아 있고 /etc/passwd에서 계정 목록만 사리지기 때문에 -r 옵션을 통해서 해당 홈 디렉터리도 삭제를 해줍니다.
▶ 검색시검색 시 해당 홈 디렉터리가 삭제된 것을 확인할 수 있습니다. 또한 /etc/passwd 검색 시에도 해당 계정은 삭제되고 존재하지 않는 것을 확인할 수 있습니다.
[root@localhost /]# groupadd guestgroup [root@localhost /]# cat /etc/group | grep -i guestgroup guestgroup:x:1001:
▶ 일반 유저 계정을 생성하기 전에 그룹을 사전에 생성해줍니다.
[root@localhost /]# useradd -g guestgroup user1 [root@localhost /]# useradd -g guestgroup user2
▶ 일반 유저계정(user1,user2)을 /etc/guestgroup에 소속되도록 생성합니다.
[root@localhost /]# cat /etc/group | grep -i guestgroup guestgroup:x:1001: [root@localhost /]# cat /etc/passwd | grep -i user1 user1:x:1001:1001::/home/user1:/bin/bash [root@localhost /]# cat /etc/passwd | grep -i user2 user2:x:1002:1001::/home/user2:/bin/bash
▶ guestgroup의 ID 1001번으로 user1, user2 일반 유저 계정이 소속되어 있는 것을 확인할 수 있습니다.
[root@localhost /]# tail -5 /etc/shadow | grep -i user user1:!!:19053:0:99999:7::: user2:!!:19053:0:99999:7:::
▶ 현재 user1,user2의 계정은 패스워드가 설정되어 있지 않기 때문에!!로 표시가 된 것을 확인할 수 있습니다.
[root@localhost /]# passwd user1 user1 사용자의 비밀 번호 변경 중 새 암호: **** 새 암호 재입력: **** passwd: 모든 인증 토큰이 성공적으로 업데이트 되었습니다. [root@localhost /]# passwd user2 user2 사용자의 비밀 번호 변경 중 새 암호: **** 새 암호 재입력: **** passwd: 모든 인증 토큰이 성공적으로 업데이트 되었습니다.
▶ 해당 유저게정 user1, user2의 패스워드를 설정해주도록 합니다. 슈퍼 관리자에서 설정을 하게 되면 보안정책의 8글자 이상 초과 에러 메시지 호출 시 무시하고 생성을 할 수 있습니다.
[root@localhost /]# tail -5 /etc/shadow | grep -i user user1:$6$ssBbUFSgQXEfex9I$4pW5Xf5oTd5n6l4xZw32PyyC2WD5oyUUzcUDmrHWl0LyS1KpeuHQwLD4FbcSrrJ7fEKthf7cnnx8.2kStcYxb0:19053:0:99999:7::: user2:$6$GGCDpdP3TUmTKH9n$LBzVdnIi8ydVjYdwTddGWABSmFQMKiKPE6ZoJLVKHqiU.lapkRnuo9g3cyZW99O2ORXKkXtAPrMDsoVhAVzcN/:19053:0:99999:7:::
▶ /etc/shadow 디렉터리 아래에 user1, user2 계정의 패스워드가 암호화되어 생성된 것을 확인할 수 있습니다. /etc/shadow 파일을 알고 있다고 해서 암호를 유추할 수 있는 것은 아니기 때문에 단순히 패스워드가 암호화되어 표현되었다고 생각하시면 됩니다.
[root@localhost /]# cat /etc/passwd | grep -i user user1:x:1001:1001::/home/user1:/bin/bash user2:x:1002:1001::/home/user2:/bin/bash
▶ 해당 계정의 !! 표시 부분이 x로 변경되어 패스워드 또한 설정이 된 것을 확인할 수 있습니다.
[root@localhost /]# cd /home/user1 [root@localhost user1]# ls -al drwx------ 3 user1 guestgroup 78 3월 2 15:24 . drwxr-xr-x. 5 root root 46 3월 2 15:24 .. -rw-r--r-- 1 user1 guestgroup 18 5월 11 2019 .bash_logout -rw-r--r-- 1 user1 guestgroup 141 5월 11 2019 .bash_profile -rw-r--r-- 1 user1 guestgroup 312 5월 11 2019 .bashrc drwxr-xr-x 4 user1 guestgroup 39 2월 28 20:48 .mozilla
▶ 일반유저 계정이 생성된 후 해당 계정의 디렉터리에 접근을 하게 되면. bash_profile 등 몇 가지 파일이 등록되는데 해당 파일들을 통해서 프로파일 설정을 할 수 있고 해당 파일은 /etc/skel 파일에서 복사가 된 것을 확인할 수 있습니다.
[root@localhost user1]# cd /etc/skel [root@localhost skel]# ls -al drwxr-xr-x. 3 root root 78 2월 28 20:49 . drwxr-xr-x. 135 root root 8192 3월 2 15:28 .. -rw-r--r--. 1 root root 18 5월 11 2019 .bash_logout -rw-r--r--. 1 root root 141 5월 11 2019 .bash_profile -rw-r--r--. 1 root root 312 5월 11 2019 .bashrc drwxr-xr-x. 4 root root 39 2월 28 20:48 .mozilla
▶ /etc/skel 기본 파일들이 유저 계정에 생성되는 파일과 동일하다는 것을 확인할 수 있습니다.
[root@localhost /]# cat /etc/group | grep -i centos centos:x:1000: [root@localhost /]# usermod -g centos user1 [root@localhost skel]# cat /etc/passwd | grep -i user user1:x:1001:1000::/home/user1:/bin/bash user2:x:1002:1001::/home/user2:/bin/bash
▶ user1의 계정이 user2의 계정과 처음과 달리 1000번의 그룹 ID에 속하도록 변경된 것을 확인할 수 있습니다.
[사용자 생성시 옵션]
-u : ID 지정
-g : 그룹 지정
-d : 홈 디렉터리 지정
-s : 셸 지정[root@localhost /]# mkdir user1home [root@localhost /]# usermod -d /user1home user1 [root@localhost /]# cat /etc/passwd | grep -i user1 user1:x:1001:1000::/user1home:/bin/bash
▶ user1의 계정의 홈 디렉터리가 /home/user1에서 /user1 home으로 변경된 것을 확인할 수 있습니다.
[root@localhost /]# cat /etc/passwd | grep -i user1 user1:x:1001:1000::/user1home:/bin/bash [root@localhost /]# usermod -s /bin/ksh user1 [root@localhost /]# cat /etc/passwd | grep -i user1 user1:x:1001:1000::/user1home:/bin/ksh
▶ user1의 계정의 shell형태가 bash로 사용되고 있는 ksh 형태로 변경되고 확인이 가능합니다.
2022.03.08 - [System of Infra/LINUX] - LINUX 소유권/허가권 부여 및 심볼릭 링크 설정하는 방법
2021.12.27 - [System of Infra/LINUX] - LINUX SELinux 비활성화 하는 방법
PS. 포스팅의 내용은 제 기준으로 작성한 것이기 때문에 참고해서 보시면 감사하겠습니다.
포스팅 과정의 오류 및 오타 그리고 궁금한 점에 대해서는 댓글 남겨주세요.
728x90반응형'System of Infra > Linux System' 카테고리의 다른 글
LINUX RPM package를 활용한 MC 설치하는 방법 (0) 2022.03.08 LINUX 소유권/허가권 부여 및 심볼릭링크 설정하는 방법 (2) 2022.03.08 LINUX SELinux 비활성화 하는 방법 (0) 2021.12.27 LINUX NMON 설치 하는 방법 (0) 2021.09.16 LINUX MCCS 클러스터 구축하기 실습(3) (0) 2021.09.06