소개
Linux 사용자 관리는 시스템 관리자에게 필수적인 기본 기술입니다. 이는 적절한 시스템 접근 및 보안을 보장하기 위해 사용자 계정을 생성, 수정 및 유지 관리하는 것을 포함합니다. 이 Lab 에서는 Linux 환경에서 사용자를 관리하는 방법을 배우게 되며, 특히 사용자 추가 및 권한 구성을 중점적으로 다룹니다. 이러한 기술은 모든 Linux 시스템의 보안과 무결성을 유지하는 데 필수적입니다.
Linux 사용자 관리는 시스템 관리자에게 필수적인 기본 기술입니다. 이는 적절한 시스템 접근 및 보안을 보장하기 위해 사용자 계정을 생성, 수정 및 유지 관리하는 것을 포함합니다. 이 Lab 에서는 Linux 환경에서 사용자를 관리하는 방법을 배우게 되며, 특히 사용자 추가 및 권한 구성을 중점적으로 다룹니다. 이러한 기술은 모든 Linux 시스템의 보안과 무결성을 유지하는 데 필수적입니다.
Linux 의 사용자 계정을 통해 개인은 특정 권한으로 시스템에 접근할 수 있습니다. 각 사용자는 고유한 사용자 이름, 사용자 ID (UID), 홈 디렉토리 및 기본 쉘을 갖습니다.
이 단계에서는 시스템에 "cipher"라는 새 사용자를 생성합니다.
LabEx VM 환경에서 터미널을 엽니다. 터미널은 이미 기본 위치 /home/labex/project에 있어야 합니다.
새 사용자를 생성하기 위해 적절한 옵션과 함께 useradd 명령을 사용합니다.
sudo useradd -m -s /bin/bash cipher
명령어를 이해해 봅시다:
sudo: 사용자 관리에 필요한 슈퍼유저 권한으로 명령을 실행합니다.useradd: 새 사용자를 생성하는 데 사용되는 명령입니다.-m: 이 옵션은 새 사용자의 홈 디렉토리를 /home/cipher에 생성합니다.-s /bin/bash: 사용자의 기본 쉘을 bash 로 설정합니다.cipher: 우리가 생성하려는 새 사용자의 사용자 이름입니다.ls -l /home
다음과 유사한 출력을 볼 수 있습니다.
total 8
drwxr-xr-x 2 cipher cipher 4096 Oct 15 10:30 cipher
drwxr-xr-x 5 labex labex 4096 Oct 15 10:00 labex
cipher에 대한 항목은 사용자와 해당 홈 디렉토리가 성공적으로 생성되었음을 확인합니다.
모든 사용자 계정은 무단 접근을 방지하기 위해 안전한 비밀번호를 가져야 합니다. 이 단계에서는 이전 단계에서 생성한 "cipher" 사용자의 비밀번호를 설정합니다.
passwd 명령을 사용하여 사용자의 비밀번호를 설정합니다.sudo passwd cipher
New password:
Retype new password:
두 비밀번호가 일치하면 확인 메시지가 표시됩니다.
passwd: password updated successfully
sudo grep cipher /etc/shadow | cut -d: -f2 | grep -v '!'
문자열이 반환되면 비밀번호가 성공적으로 설정되었음을 의미합니다. 출력은 실제 비밀번호가 아닌 암호화된 형태를 표시합니다.
확인 명령을 자세히 살펴보겠습니다.
grep cipher /etc/shadow는 사용자 이름을 포함하는 줄을 찾습니다.cut -d: -f2는 비밀번호 필드 (두 번째 필드) 를 추출합니다.grep -v '!'는 '!'를 포함하지 않는 줄만 표시합니다.마지막 부분 (grep -v '!') 은 특히 중요한데, Linux 에서는 다음과 같습니다.
따라서 명령이 출력을 반환하면 실제 비밀번호 해시를 노출하지 않고 유효한 비밀번호가 설정되었음을 확인합니다.
사용자를 생성한 후에는 해당 사용자에 대한 정보를 보는 방법을 아는 것이 중요합니다. Linux 는 이 목적을 위해 여러 명령을 제공합니다.
id 명령을 사용하여 "cipher" 사용자에 대한 기본 정보를 확인해 보겠습니다.id cipher
이렇게 하면 사용자 ID (uid), 그룹 ID (gid) 및 사용자가 속한 그룹이 표시됩니다. 출력은 다음과 유사해야 합니다.
uid=1001(cipher) gid=1001(cipher) groups=1001(cipher)
/etc/passwd 파일에서 사용자의 항목을 확인해 보겠습니다.grep cipher /etc/passwd
출력은 콜론으로 구분된 필드를 포함하는 한 줄이 됩니다. 예를 들어:
cipher:x:1001:1001::/home/cipher:/bin/bash
이러한 필드는 다음을 나타냅니다.
finger 명령을 사용하여 사용자 정보를 더 읽기 쉬운 형식으로 볼 수도 있습니다. 먼저 finger 패키지를 설치합니다.sudo apt-get update
sudo apt-get install -y finger
finger cipher
출력은 로그인 상태 및 홈 디렉토리를 포함하여 더 사람이 읽기 쉬운 형식으로 정보를 표시합니다.
Login: cipher Name:
Directory: /home/cipher Shell: /bin/bash
Never logged in.
No mail.
No Plan.
Linux 는 그룹을 사용하여 사용자를 구성하고 파일 및 리소스에 대한 액세스를 제어합니다. 이 단계에서는 사용자를 기존 그룹에 추가하는 방법을 배웁니다.
sudo groupadd crypto
usermod 명령을 사용하여 "cipher" 사용자를 "crypto" 그룹에 추가합니다.sudo usermod -aG crypto cipher
이 명령에서:
sudo: 슈퍼유저 권한으로 명령을 실행합니다.usermod: 사용자 계정을 수정하는 명령입니다.-aG: 사용자를 그룹에 추가하는 옵션입니다 (-a 는 추가, -G 는 보조 그룹).crypto: 그룹의 이름입니다.cipher: 사용자 이름입니다.groups cipher
출력에는 "cipher" 및 "crypto" 그룹이 모두 포함되어야 합니다.
cipher : cipher crypto
/etc/group 파일에서 그룹의 항목을 확인할 수도 있습니다.grep crypto /etc/group
출력은 그룹과 해당 멤버를 표시해야 합니다.
crypto:x:1002:cipher
관리 작업을 위해 사용자는 종종 높은 권한이 필요합니다. sudo (superuser do) 명령을 사용하면 일반 사용자가 관리 권한으로 명령을 실행할 수 있습니다. 이 단계에서는 사용자에게 sudo 접근 권한을 부여하는 방법을 배웁니다.
sudo usermod -aG sudo cipher
groups cipher
출력에는 이제 "sudo" 그룹이 포함되어야 합니다.
cipher : cipher crypto sudo
sudo su - cipher
sudo ls /root
cipher 사용자에 대해 설정한 비밀번호를 묻는 메시지가 표시됩니다. 올바르게 입력하면 명령이 성공적으로 실행되어 /root 디렉토리의 내용이 표시됩니다.
cipher 사용자 세션을 종료하고 labex 사용자로 돌아갑니다.
exit
이 랩에서는 Linux 에서 사용자 관리의 기본 개념을 배웠습니다. 새로운 사용자를 성공적으로 생성하고, 비밀번호를 설정하고, 사용자 정보를 확인하고, 사용자를 그룹에 추가하고, sudo 접근 권한을 부여했습니다. 이러한 기술은 시스템 관리자가 Linux 시스템에서 보안을 유지하고 리소스에 대한 접근을 제어하는 데 필수적입니다.
사용자 관리는 시스템 관리의 중요한 측면이며, 여기서 배운 명령과 개념은 보다 진보된 사용자 및 권한 관리 작업의 기초를 형성합니다. 이러한 기본 사항을 숙달함으로써 Linux 시스템 관리 전문가가 되는 길에 들어섰습니다.