본문 바로가기

운영체제/리눅스

리눅스 사용자 관리 명령어와 설정 방법

리눅스 사용자 관리 명령어와 설정 방법

리눅스 시스템에서 사용자를 효율적으로 관리하는 것은 서버 운영과 보안 유지에 있어 매우 중요한 요소입니다. 시스템 관리자는 사용자 계정을 생성, 수정, 삭제하고, 적절한 권한을 설정함으로써 시스템의 안정성과 보안을 유지해야 합니다. 이 글에서는 리눅스에서 사용자 관리와 관련된 필수 명령어와 설정 방법을 자세히 설명합니다.

 

 

목차

  1. 사용자 계정 생성하기
  2. 사용자 계정 삭제하기
  3. 사용자 정보 수정하기
  4. 사용자 비밀번호 관리
  5. 그룹 관리
  6. 사용자 권한 설정
  7. 특정 사용자 제한 설정

 

사용자 계정 생성하기

리눅스에서 새로운 사용자 계정을 생성하는 것은 매우 간단합니다. useradd 명령어를 사용하면 새로운 사용자 계정을 쉽게 만들 수 있습니다. 기본적인 사용법은 다음과 같습니다:

# useradd [옵션] 사용자이름

예를 들어, 'john'이라는 이름의 새로운 사용자를 생성하려면 다음 명령어를 사용합니다:

# useradd john

이 명령어는 기본 설정에 따라 'john' 사용자를 생성하며, 사용자의 홈 디렉토리와 기본 셸이 함께 설정됩니다. 사용자 생성 후에는 passwd 명령어로 비밀번호를 설정해야 합니다.

 

 

사용자 계정 삭제하기

필요하지 않은 사용자 계정을 삭제할 때는 userdel 명령어를 사용합니다. 기본 사용법은 다음과 같습니다:

# userdel [옵션] 사용자이름

예를 들어, 'john' 사용자를 삭제하려면 다음 명령어를 실행합니다:

# userdel john

옵션으로 -r을 사용하면, 사용자의 홈 디렉토리와 관련 파일들도 함께 삭제됩니다:

# userdel -r john

이 명령어를 사용하면 계정과 함께 해당 사용자의 모든 데이터도 제거됩니다. 사용자 삭제 시에는 중요한 데이터가 삭제되지 않도록 주의해야 합니다.

 

 

사용자 정보 수정하기

사용자 계정 생성 후에도 사용자의 정보는 언제든지 수정할 수 있습니다. usermod 명령어를 사용하여 사용자의 홈 디렉토리, 셸, 그룹 등을 변경할 수 있습니다. 예를 들어, 'john' 사용자의 기본 셸을 /bin/bash로 변경하려면 다음 명령어를 사용합니다:

# usermod -s /bin/bash john

또한 사용자의 홈 디렉토리를 변경하거나 사용자에게 새로운 그룹을 추가하는 것도 가능합니다. 예를 들어, 'john'의 홈 디렉토리를 /home/johndoe로 변경하려면 다음과 같이 실행합니다:

# usermod -d /home/johndoe john

이 명령어는 홈 디렉토리 위치를 변경하지만, 기존 데이터를 자동으로 이동시키지는 않습니다. 데이터를 안전하게 이동시키려면 수동으로 파일을 복사해야 합니다.

 

 

사용자 비밀번호 관리

사용자의 비밀번호는 보안을 위해 주기적으로 변경해야 합니다. passwd 명령어를 사용해 사용자의 비밀번호를 설정하거나 변경할 수 있습니다. 사용법은 다음과 같습니다:

# passwd 사용자이름

예를 들어, 'john' 사용자의 비밀번호를 변경하려면:

# passwd john

이 명령어를 입력하면 시스템은 새 비밀번호를 입력하도록 요청합니다. 비밀번호는 보안상의 이유로 화면에 표시되지 않으니 주의해서 입력해야 합니다.

또한, chage 명령어를 사용하여 비밀번호의 만료 기간을 설정할 수 있습니다. 예를 들어, 'john' 사용자의 비밀번호를 30일 후에 만료되도록 설정하려면 다음 명령어를 사용합니다:

# chage -M 30 john

이렇게 설정하면 비밀번호 만료 기간이 지나면 사용자는 새 비밀번호를 설정해야 합니다.

 

 

 

 

그룹 관리

리눅스에서 그룹은 여러 사용자에게 동일한 권한을 부여할 때 유용합니다. 그룹을 생성하려면 groupadd 명령어를 사용합니다:

# groupadd 그룹이름

예를 들어, 'developers' 그룹을 생성하려면 다음 명령어를 사용합니다:

# groupadd developers

그룹에 사용자를 추가하려면 usermod 명령어의 -aG 옵션을 사용합니다. 예를 들어, 'john' 사용자를 'developers' 그룹에 추가하려면:

# usermod -aG developers john

이렇게 하면 'john' 사용자는 'developers' 그룹의 멤버가 되어, 그룹에 설정된 권한을 사용할 수 있게 됩니다.

 

 

사용자 권한 설정

리눅스에서는 파일과 디렉토리의 권한을 설정하여 사용자의 접근을 제어할 수 있습니다. chmod 명령어를 사용해 파일의 읽기, 쓰기, 실행 권한을 설정할 수 있습니다. 예를 들어, 'john' 사용자가 소유한 파일 'example.txt'의 읽기, 쓰기 권한을 설정하려면 다음과 같이 실행합니다:

# chmod u+rw example.txt

이 명령어는 사용자(소유자)에게 읽기와 쓰기 권한을 부여합니다. 권한 설정은 소유자, 그룹, 그리고 다른 사용자로 구분되어 각각 설정할 수 있습니다.

또한, chown 명령어를 사용해 파일이나 디렉토리의 소유자와 그룹을 변경할 수 있습니다. 예를 들어, 'john' 사용자가 소유한 'example.txt' 파일의 소유자를 'doe'로 변경하려면:

# chown doe example.txt

이 명령어는 파일의 소유자를 'doe'로 변경합니다. 권한 설정은 시스템 보안의 핵심이므로, 적절하게 설정해야 합니다.

 

 

특정 사용자 제한 설정

특정 사용자가 시스템 리소스를 과도하게 사용하지 못하도록 제한을 설정할 수 있습니다. /etc/security/limits.conf 파일을 수정하여 각 사용자의 리소스 사용량을 제한할 수 있습니다. 예를 들어, 'john' 사용자가 사용할 수 있는 최대 프로세스 수를 50개로 제한하려면, 다음과 같은 내용을 추가합니다:

john hard nproc 50

이 설정은 'john' 사용자가 동시에 50개의 프로세스만 실행할 수 있도록 제한합니다. 이외에도 메모리 사용량, 파일 크기 제한 등을 설정할 수 있습니다.

효율적인 사용자 관리는 리눅스 시스템의 안정성과 보안을 유지하는 데 필수적입니다. 이 가이드가 사용자 관리에 대한 이해를 높이고, 실제 운영 환경에서 활용하는 데 도움이 되기를 바랍니다.