리눅스에서 명령줄로 사용자 관리하는 방법

리눅스 관리의 중심 책임 중 하나는 사용자 관리입니다. 명령줄을 사용하면 원격으로 또는 프로그래밍 방식으로 사용자를 생성할 수 있습니다. 사용자를 생성한 후에는 그룹에 추가하거나 권한을 상승시킬 수 있습니다. 또한 서버에서 수행된 작업과 발생할 수 있는 문제에 대한 감사 로그를 유지할 수 있습니다.
소프트웨어를 개발하거나 웹 프로그래밍을 했다면, ‘사용자를 절대 신뢰하지 말라’는 정책에 익숙할 수 있습니다. 이와 같은 전제는 사용자 참여와 관련하여 컴퓨터 사용의 다른 분야에도 적용됩니다. 필요할 때 필요한 사람에게만 접근 권한을 부여하십시오. 권한을 넉넉히 위임하면 다른 사람의 정보와 핵심 데이터에 대한 무제한 및 비인가 접근을 허용할 수 있습니다.
기존 사용자 보기
사용자를 보는 가장 빠른 방법 중 하나는 cat (연결) 또는 more (페이지어) 명령어를 사용하여 시스템의 사용자 목록을 보는 것입니다. 보고자 하는 파일은 “/etc/passwd” 파일입니다. 이 파일은 모든 사용자 계정과 사용자 로그인 정보를 저장합니다.
sudo cat /etc/passwduseradd 명령어 활용하기
useradd는 대부분의 배포판에서 사용할 수 있는 저수준 바이너리입니다. 이 명령어는 일반적으로 사용자 친화적이고 직관적인 adduser 명령어에 비해 사용이 적습니다. 그러나 차이는 매우 적으며 둘 중 어느 것을 사용해도 됩니다.
useradd에 대한 자세한 정보를 보려면 man 명령어를 실행하거나 --help를 추가하여 간단한 개요를 얻으십시오.
man useradduseradd --help
useradd를 사용하여 사용자를 추가하려면 useradd와 생성하려는 로그인 이름을 입력하십시오.
sudo useradd --create-home testuser위의 경우 “testuser”라는 사용자가 생성됩니다. 기본적으로 이 명령어는 사용자만 생성하고 아무 것도 하지 않습니다. 이 사용자에 대한 홈 디렉토리가 필요한 경우 --create-home 플래그를 추가하여 사용자에 대한 홈 디렉토리를 생성하십시오.
adduser 명령어 활용하기
adduser 명령어는 useradd 명령어와 유사하게 사용자를 생성하는 perl 스크립트입니다. 이 명령어의 차이점은 대화형 명령어로 비밀번호, 홈 디렉토리 경로 등을 설정하라는 메시지를 표시합니다. Red Hat 및 CentOS와 같은 일부 배포판에서는 adduser가 useradd에 대한 심볼릭 링크이며, Arch Linux와 같은 다른 배포판에서는 adduser가 기본적으로 설치되지 않은 패키지로 제공된다는 점에 유의하십시오.
이 명령어를 사용하면 기본적으로 사용자의 로그인을 사용하여 사용자의 그룹이 생성됩니다. 다른 기본 설정은 일반적으로 “/etc/default”의 useradd 파일에서 찾을 수 있습니다.
이 파일에서 useradd로 생성된 사용자에 대한 기본 설정(셸 및 홈 디렉토리 등)을 변경할 수 있습니다.

다음과 유사한 방식으로 adduser 명령어를 실행하십시오:
sudo adduser testuser
그러면 설정할 기본값에 대한 메시지가 표시되고 비밀번호를 입력하라는 요청이 나타납니다.
추가 읽기: 리눅스에서 터미널로 사용자 비밀번호 관리하는 방법
비밀번호 및 보안
사용자에게 비밀번호를 추가하려면 passwd 명령어를 실행해야 합니다.
sudo passwd testuser슈퍼유저 권한 없이 passwd를 실행하면 로그인한 사용자의 비밀번호만 변경됩니다. 이 명령어는 비밀번호의 복잡성을 검사합니다. Ubuntu에서는 비밀번호 요구 사항이 “/ec/pam.d”에 있는 common-password 파일에 설정되어 있습니다. 복잡성 업데이트에 대한 더 많은 정보는 pam-auth-update의 매뉴얼 페이지에서 확인할 수 있습니다.

사용자 정보 업데이트
사용자가 시스템에 등록된 후에는 “/etc/passwd” 파일을 검토하여 사용자의 정보와 암호화된 비밀번호를 확인할 수 있습니다. 사용자에 대한 변경을 해야 하는 경우 usermod 명령어를 사용해야 합니다.

예를 들어, 위에서 생성한 testuser4 계정의 사용자 ID를 변경하려면 다음 명령어를 실행합니다:
sudo usermod -u 2022 testuser2변경 사항은 “/etc/passwd” 파일에서 검토할 수 있습니다.
로그인 이름이나 사용자 ID와 같은 중요한 정보를 변경할 때는 주의하십시오. 이러한 항목이 변경될 경우 어떻게 해야 하는지에 대한 정보는 usermod의 매뉴얼 페이지에서 확인하십시오.
사용자 그룹에 추가
때로는 사용자를 그룹에 추가해야 특정 작업을 수행할 수 있는 권한을 부여해야 할 필요가 있습니다.
사용자를 그룹에 추가하려면:
sudo usermod -a -G groupname username여기서 -a 플래그는 사용자의 그룹에 “추가“하는 데 필요합니다. 그렇지 않으면 사용자가 슈퍼유저 권한을 가져야 할 경우 “sudo” 그룹에서 삭제될 위험이 있습니다.
또는 gpasswd 명령어를 사용하여 사용자 그룹에 추가/제거할 수 있습니다.
sudo gpasswd -a username groupname사용자를 그룹에서 제거하려면:
sudo gpasswd -d username groupname사용자 삭제
다른 사용자 명령어와 유사하게 사용자를 삭제하는 명령어는 “user”로 시작하며 해당 작업을 수행합니다. 이 경우 userdel 명령어를 사용해야 합니다.

userdel은 해당 사용자의 계정을 사용하는 프로세스가 있는 경우 사용자를 제거하지 않습니다.
sudo userdel testuser4사용자 로그 보기
배포판에 따라 인증 로그 또는 “/var/log”에 있는 보안 로그를 확인하여 사용자 로그인을 검토합니다. 이 로그 파일은 로그인 발생 시 시스템에서 로그인을 제공합니다. 이는 침해의 경우 이벤트를 모니터링하고 사물이 원하는 대로 작동하는지 확인하는 데 중요한 요소입니다.
sudo tail /var/log/auth.log사용자 관리 는 시스템을 사용하는 사람이 둘 이상인 경우 리눅스 서버 관리의 중요한 부분입니다. 명령줄을 사용하면 사용자를 신속하게 관리할 수 있으며 계정 생성 및 변경 이력을 확인할 수 있습니다. 아마도 가장 좋은 활용 방법은 여러 계정이 동시에 필요할 경우 셸 스크립트를 사용하여 생성을 자동화하는 것입니다.
어쨌든 정기적으로 계정을 점검하고 더 이상 필요하지 않은 계정을 제거하는 것을 잊지 마십시오. 현재 접근할 필요가 있는 사람에게만 접근 권한을 부여하고 로그를 자주 모니터링하십시오.