Linux 사용자 전환

LinuxBeginner
지금 연습하기

소개

Linux 는 여러 사용자가 동시에 작업할 수 있는 다중 사용자 운영 체제입니다. 서로 다른 사용자 계정 간을 탐색하는 방법을 이해하는 것은 시스템 관리자와 Linux 사용자에게 기본적인 기술입니다. 이 랩에서는 su (substitute user) 명령을 사용하여 Linux 에서 사용자 전환을 소개합니다.

이 랩에서는 새로운 사용자를 생성하고, 사용자 간을 전환하며, 다른 사용자로 작업을 수행하고, 원래 사용자 계정으로 돌아가는 방법을 배우게 됩니다. 이러한 기술은 시스템 관리 작업, 보안 관행, 그리고 Linux 환경에서 사용자 권한을 이해하는 데 필수적입니다.

이것은 가이드 실험입니다. 학습과 실습을 돕기 위한 단계별 지침을 제공합니다.각 단계를 완료하고 실무 경험을 쌓기 위해 지침을 주의 깊게 따르세요. 과거 데이터에 따르면, 이것은 초급 레벨의 실험이며 완료율은 81%입니다.학습자들로부터 94%의 긍정적인 리뷰율을 받았습니다.

Linux 사용자 이해 및 새 사용자 생성

Linux 에서 각 사용자는 특정 권한과 홈 디렉토리를 가진 고유한 계정을 가지고 있습니다. 사용자를 전환하기 전에 두 번째 사용자 계정을 생성해야 합니다.

새 사용자 생성

adduser 명령을 사용하여 apprentice라는 새 사용자를 생성해 보겠습니다. 이 명령은 관리자 권한이 필요하므로, sudo를 사용하여 권한을 높여 실행합니다.

sudo adduser apprentice

이 명령을 실행하면 새 사용자의 비밀번호를 설정하고 선택적 정보를 제공하라는 메시지가 표시됩니다. 이 랩에서는 비밀번호를 password123으로 설정하고 Enter 키를 눌러 선택적 정보 필드를 건너뛸 수 있습니다.

Adding user `apprentice' ...
Adding new group `apprentice' (1001) ...
Adding new user `apprentice' (1001) with group `apprentice' ...
Creating home directory `/home/apprentice' ...
Copying files from `/etc/skel' ...
New password: password123
Retype new password: password123
passwd: password updated successfully
Changing the user information for apprentice
Enter the new value, or press ENTER for the default
        Full Name []:
        Room Number []:
        Work Phone []:
        Home Phone []:
        Other []:
Is the information correct? [Y/n] Y

Sudo 권한 부여

이제 apprentice 사용자에게 sudo 권한을 부여하여 관리 작업을 수행할 수 있도록 하겠습니다.

sudo usermod -aG sudo apprentice

이 명령은 apprentice 사용자를 sudo 그룹에 추가합니다. 명령이 성공적으로 실행되면 아무런 출력도 없을 것입니다.

사용자 존재 확인

새 사용자가 성공적으로 생성되었는지 확인하기 위해 /home 디렉토리의 내용을 나열할 수 있습니다.

ls -l /home

apprentice 사용자에 대한 디렉토리가 표시되어야 합니다.

total 8
drwxr-xr-x 5 apprentice apprentice 4096 Oct 15 12:34 apprentice
drwxr-xr-x 5 labex      labex      4096 Oct 15 12:00 labex

/etc/passwd 파일을 보면서 시스템의 사용자 목록을 확인할 수도 있습니다.

grep apprentice /etc/passwd

이것은 apprentice 사용자에 대한 정보를 표시해야 합니다.

apprentice:x:1001:1001:,,,:/home/apprentice:/bin/bash

su 명령어를 사용한 사용자 전환

이제 apprentice 사용자를 생성했으므로, su 명령을 사용하여 이 사용자로 전환하는 방법을 알아보겠습니다.

su 명령 이해

su (substitute user) 명령을 사용하면 로그인 세션 중에 다른 사용자 계정으로 전환할 수 있습니다. su 명령을 사용하는 두 가지 일반적인 방법이 있습니다.

  1. su username - 지정된 사용자로 전환하지만 현재 환경 변수를 유지합니다.
  2. su - username - 지정된 사용자로 전환하고 해당 사용자의 환경도 로드합니다.

하이픈 (-) 을 사용한 두 번째 옵션이 일반적으로 선호됩니다. 이는 완전한 환경 전환을 제공하여 실제로 해당 사용자로 로그인하는 것처럼 느껴지게 하기 때문입니다.

Apprentice 사용자로 전환

완전한 환경 전환을 통해 apprentice 사용자로 전환해 보겠습니다.

su - apprentice

apprentice 사용자의 비밀번호를 묻는 메시지가 표시됩니다. 사용자 생성 시 설정한 비밀번호 (password123) 를 입력합니다.

Password: password123

인증에 성공하면 명령 프롬프트가 변경되어 현재 apprentice 사용자로 로그인했음을 나타냅니다. 프롬프트는 다음과 같이 표시될 수 있습니다.

apprentice@ubuntu:~$

사용자 전환 확인

현재 apprentice 사용자로 작동하고 있는지 확인하려면 whoami 명령을 실행합니다.

whoami

출력은 다음과 같아야 합니다.

apprentice

pwd 명령을 사용하여 현재 작업 디렉토리를 확인할 수도 있습니다.

pwd

출력은 apprentice 사용자의 홈 디렉토리에 있음을 보여야 합니다.

/home/apprentice

apprentice 사용자로 파일 생성

이제 apprentice 사용자로 로그인했으므로, 이 세션에서 수행된 작업이 apprentice 사용자의 권한으로 실행됨을 보여주기 위해 몇 가지 파일을 생성해 보겠습니다.

디렉토리 생성

먼저, apprentice 사용자의 홈 디렉토리에 프로젝트 디렉토리를 생성해 보겠습니다.

mkdir -p ~/project

-p 플래그는 디렉토리가 이미 존재하는 경우 명령이 오류를 생성하지 않도록 합니다. 명령이 성공적으로 실행되면 아무런 출력도 없을 것입니다.

텍스트 파일 생성

이제 프로젝트 디렉토리에 텍스트 파일을 생성해 보겠습니다.

echo "This is my first file as the apprentice user." > ~/project/apprentice-journal.txt

이 명령을 실행할 때는 아무런 출력도 없지만, 지정된 내용으로 파일이 생성됩니다.

파일 내용 보기

방금 생성한 파일의 내용을 확인해 보겠습니다.

cat ~/project/apprentice-journal.txt

출력은 다음과 같아야 합니다.

This is my first file as the apprentice user.

파일 소유권 확인

또한 파일이 apprentice 사용자에 의해 소유되었는지 확인할 수 있습니다.

ls -l ~/project/apprentice-journal.txt

출력은 다음과 유사해야 합니다.

-rw-rw-r-- 1 apprentice apprentice 44 Oct 15 13:45 /home/apprentice/project/apprentice-journal.txt

파일의 사용자 및 그룹 소유자가 모두 apprentice로 설정되어 있음을 확인합니다. 이는 파일이 apprentice 사용자의 권한으로 생성되었음을 확인합니다.

원래 사용자로 다시 전환

apprentice 사용자로 작업을 완료한 후에는 원래 사용자 계정으로 다시 전환할 차례입니다. 이는 다른 사용자로 작업을 일시적으로 수행한 다음 기본 계정으로 돌아가야 할 때 일반적인 관행입니다.

Apprentice 사용자 세션 종료

원래 사용자 세션으로 돌아가려면 exit를 입력하거나 Ctrl+D를 누르십시오.

exit

명령 프롬프트가 원래 사용자 프롬프트로 다시 변경되는 것을 볼 수 있습니다. 이는 다음과 같이 표시될 수 있습니다.

labex@ubuntu:~/project$

사용자 전환 확인

원래 사용자 계정으로 성공적으로 전환했는지 확인하려면 whoami 명령을 실행합니다.

whoami

출력은 다음과 같아야 합니다.

labex

다른 사용자가 생성한 파일에 접근

원래 사용자로 다시 전환했더라도 적절한 권한이 있는 경우 apprentice 사용자가 생성한 파일에 계속 접근할 수 있습니다.

sudo cat /home/apprentice/project/apprentice-journal.txt

출력은 파일 내용을 표시해야 합니다.

This is my first file as the apprentice user.

사용자 컨텍스트 비교

이제 사용자 간 전환을 경험했으므로 홈 디렉토리 경로를 확인하여 사용자 컨텍스트의 차이점을 보여드리겠습니다.

echo "My home directory is: $HOME"

출력은 원래 사용자의 홈 디렉토리를 표시해야 합니다.

My home directory is: /home/labex

apprentice 사용자로 다시 전환하여 동일한 명령을 실행하면 출력은 달라집니다.

su - apprentice                    ## (지금은 실행하지 마십시오. 설명을 위한 것입니다.)
echo "My home directory is: $HOME" ## 출력: My home directory is: /home/apprentice

이는 - 옵션이 있는 su 명령이 $HOME과 같은 환경 변수를 포함하여 사용자 환경을 완전히 전환하는 방법을 보여줍니다.

요약

이 랩에서는 필수적인 Linux 사용자 관리 기술을 배웠습니다.

  1. adduser 명령을 사용하여 새 사용자 계정 생성
  2. usermod 명령을 사용하여 사용자에게 sudo 권한 부여
  3. su 명령을 사용하여 사용자 간 전환
  4. 다른 사용자로 파일 생성
  5. whoami와 같은 명령 및 환경 변수 확인을 통해 사용자 컨텍스트 확인
  6. exit 명령으로 원래 사용자로 다시 전환

이러한 기술은 Linux 시스템 관리 및 다중 사용자 환경에서의 일상적인 운영에 필수적입니다. 사용자 전환을 통해 관리자는 서로 다른 권한 수준으로 작업을 수행하고, root 계정을 지속적으로 사용하지 않음으로써 적절한 보안 관행을 유지할 수 있습니다.

Linux 에서 사용자 관리를 이해하면 다음과 같은 이점이 있습니다.

  • 적절한 사용자 권한을 사용하여 시스템 보안 유지
  • 권한 관련 문제 해결
  • 서로 다른 사용자 관점에서 애플리케이션 및 구성 테스트
  • 다중 사용자 시스템 효과적으로 관리

Linux 여정을 계속 진행하면서 이러한 기술은 보다 고급 시스템 관리 작업의 기반이 될 것입니다.