Linux

Linux 계정 관련 명령어

Namiz_IT 2024. 7. 20. 08:18

 

리눅스 시스템에서 사용자 계정 관리를 위한 몇 가지 기본적인 명령어를 소개한다.

 

useradd: 사용자 계정 생성
userdel: 사용자 계정 삭제
usermod: 사용자 계정 정보 수정
passwd: 사용자 비밀번호 변경
chsh: 사용자의 기본 쉘 변경

 

리눅스 설치 과정에서 자동으로 root 계정과 보통 사용자 계정(일반적으로 관리자 자신을 위한 계정)이 생성된다. 필요에 따라 추가적인 사용자 계정을 생성할 수도 있다.


useradd 명령어

useradd [옵션] 사용자이름

useradd 명령어는 최고 관리자(superuser)가 사용자 계정을 생성하는 데 사용된다. (유사한 이름을 가진 adduser 명령어와 혼동에 주의해야 한다.)

 

사용 권한:

useradd 명령어는 최고 관리자 권한이 필요하다. 따라서 일반적으로 sudo 명령어 앞에 붙여 실행한다.

 

사용 방법:

sudo useradd [옵션] 사용자 이름
  • [옵션]: (선택적) 사용자 계정 생성 시 특정 설정을 지정하는 옵션이다.
  • 사용자 이름: 생성할 사용자 계정의 이름이다.

예시:

sudo useradd hong

 

위 예시는 hong라는 사용자 계정을 생성하는 명령어입니다. 하지만 기본 설정만으로는 사용자 계정이 제대로 활성화되지 않을 수 있다.

 

참고:

  • useradd 명령어 자체의 기본 설정은 좋은 것이 아니므로, 필요한 모든 옵션을 명시적으로 입력하는 것이 좋다.
  • useradd 명령어와 함께 사용할 수 있는 다양한 옵션은 useradd -D 명령어를 실행하여 확인할 수 있다.

userdel 명령어

user [-r] 사용자이름

userdel 명령어는 기존 사용자 계정을 삭제하는 데 사용된다.

 

사용 권한:

userdel 명령어는 최고 관리자 권한이 필요하다. 따라서 일반적으로 sudo 명령어 앞에 붙여 실행한다.

 

사용 방법:

sudo userdel [-r] 사용자 이름
  • -r: (선택적) 이 옵션을 함께 사용하면 사용자의 홈 디렉토리, 메일 박스 등 모든 관련 파일을 함께 삭제한다.
  • 사용자 이름: 삭제할 사용자 계정의 이름이다.

중요:

  • userdel 명령어는 사용자의 모든 관련 파일을 영구적으로 삭제합니다.
  • 사용자 계정을 삭제하기 전에 반드시 필요한 모든 파일을 백업하세요. 삭제된 파일은 복구할 수 없습니다.
  • 사용자 계정을 완전히 삭제하는 대신 usermod -L 명령어를 이용하여 계정을 비활성화하는 방법을 고려해 볼 수 있다.

예시:

sudo userdel hong  // hong 사용자 계정 삭제 (홈 디렉토리 포함)

 

 위 예시는 hong사용자 계정과 함께 모든 관련 파일을 삭제하는 명령어이다. 이 명령어를 실행하기 전에 반드시 필요한 모든 데이터를 백업했는지 확인이 필요하다.


usermod 명령어

usermod [옵션] 사용자이름

usermod 명령어는 기존 사용자 계정의 정보를 수정하는 데 사용된다. 사용자의 홈 디렉토리 변경, 로그인 쉘 설정, 계정 만료 설정 등 다양한 속성을 수정할 수 있다.

 

사용 권한:

usermod 명령어는 최고 관리자 권한이 필요합니다. 따라서 일반적으로 sudo 명령어 앞에 붙여 실행합니다.

 

사용 방법:

sudo usermod [옵션] 사용자 이름
  • [옵션]: (선택적) 사용자 계정 정보를 수정하는 데 아래의 옵션들이 있다.
    • -d /home/새로운_홈_디렉토리: 사용자의 홈 디렉토리 위치 변경
    • -m: 사용자의 홈 디렉토리를 이동 (이동된 디렉토리에 기존 홈 디렉토리 내용 복사)
    • -L: 사용자 계정 잠금 (로그인 불가)
    • -U: 사용자 계정 잠금 해제 (로그인 가능)
  • 사용자 이름: 정보를 수정할 사용자 계정의 이름이다.

예시:

  • smith 사용자의 홈 디렉토리를 /home/another로 변경한다.
    sudo usermod -d /home/another smith
    
  • smith 사용자의 계정을 잠금:
    sudo usermod -L smith
    

참고:

  • usermod 명령어는 사용자의 비밀번호를 변경하는 데 사용되지 않습니다. 비밀번호 변경은 passwd 명령어를 이용합니다.

passwd 명령어

passwd [옵션] 사용자이름

passwd 명령어는 로그인 비밀번호를 변경하는 데 사용된다.

 

사용 권한:

  • 사용자 본인: 옵션 없이 passwd 명령어만 실행하면 자신의 로그인 비밀번호를 변경할 수 있다.
  • 최고 관리자: sudo passwd 명령어와 함께 다른 사용자의 비밀번호를 변경할 수 있다. (예: sudo passwd hong)

사용 방법:

passwd [옵션] [사용자 이름]
  • [옵션]: (선택적) 비밀번호 변경과 관련된 몇 가지 옵션들이 존재하지만, 보안 정책을 신중하게 고려해야만 사용해야 한다.
  • [사용자 이름]: (선택적) 최고 관리자 권한으로 다른 사용자의 비밀번호를 변경할 경우 해당 사용자 이름을 입력한다.

예시:

  • 자신의 로그인 비밀번호 변경:
    passwd
    
  • hong 용자의 비밀번호 변경 (최고 관리자 권한 필요)
    sudo passwd hong

참고:

  • passwd 명령어는 사용자 계정 정보를 수정하는 데에는 사용되지 않고 사용자 계정 정보 수정은 usermod 명령어를 이용한다.

chsh 명령어

chsh [옵션] 사용자이름

chsh(change shell) 명령어는 사용자 로그인 시 실행되는 쉘 프로그램을 설정하는 데 사용된다.

 

사용 권한:

  • 사용자 본인: 옵션 없이 chsh 명령어만 실행하면 자신의 로그인 쉘을 변경할 수 있다.
  • 최고 관리자: chsh 명령어와 함께 다른 사용자의 로그인 쉘을 변경할 수 있다. (예: sudo chsh username)

사용 방법:

chsh [옵션] [사용자 이름]
  • [옵션]: (특별한 경우를 제외하고는 거의 사용하지 않는다.
  • [사용자 이름]: (선택적) 최고 관리자 권한으로 다른 사용자의 로그인 쉘을 변경할 경우 해당 사용자 이름을 입력한다.

사용 과정:

  1. chsh 명령어를 실행하면 현재 비밀번호를 입력하라는 메시지가 나타난다.
  2. 올바른 비밀번호를 입력한다.
  3. 새롭게 사용할 쉘 프로그램의 경로를 입력하라는 메시지가 나타난다. (예: /bin/bash, /bin/zsh 등)
  4. /etc/shells 파일에 등록되어 있는 쉘 프로그램만 사용할 수 있다.

예시:

  • 자신의 로그인 쉘을 /bin/tcsh로 변경한다.
chsh
비밀번호: *****  (실제 비밀번호 입력)
새로운 쉘 [/bin/bash]: /bin/tcsh

참고:

  • 시스템 관리자는 /etc/shells 파일을 수정하여 사용 가능한 쉘 프로그램 목록을 관리할 수 있다.
반응형

'Linux' 카테고리의 다른 글

Linux 파일 검색 명령어  (0) 2024.07.21
Linux 파일 속성 관련 명령어 #1  (0) 2024.07.21
Linux 디렉토리 명령어  (0) 2024.07.20
Linux 파일 명령어  (0) 2024.07.20
Linux 파일 시스템 #2  (0) 2024.07.18