웹사이트 검색

'usermod' 명령 사용에 대한 전체 가이드 - 스크린샷을 사용한 15가지 실제 사례


Unix/Linux 배포판에서는 'usermod' 명령을 사용하여 명령줄을 통해 이미 생성된 사용자 계정의 속성을 수정하거나 변경합니다. 'usermod' 명령은 'useradd' 또는 'adduser'와 유사하지만 기존 사용자에게 로그인이 부여됩니다.

'useradd' 또는 'adduser' 명령은 Linux 시스템에서 사용자 계정을 만드는 데 사용됩니다. 시스템 사용자를 생성하는 방법에 대해 자세히 알아보려면 다음에서 전체 가이드를 읽어보세요.

  1. Linux의 "useradd" 명령에 대한 전체 안내서

사용자 계정을 생성한 후 사용자의 홈 디렉터리, 로그인 이름, 로그인 셸, 비밀번호 만료 날짜 등과 같이 기존 사용자의 속성을 변경해야 하는 일부 시나리오에서는 'usermod' 명령이 사용됩니다.

터미널에서 'usermod' 명령을 실행하면 다음과 같은 파일이 사용되어 영향을 받습니다.

  1. /etc/passwd – 사용자 계정 정보.
  2. /etc/shadow – 보안 계정 정보.
  3. /etc/group – 그룹 계정 정보.
  4. /etc/gshadow – 그룹 계정 정보를 보호합니다.
  5. /etc/login.defs – 섀도우 비밀번호 모음 구성..

명령의 기본 구문은 다음과 같습니다.

usermod [options] username

요구사항

  1. usermod 명령을 실행하려면 기존 사용자 계정이 있어야 합니다.
  2. 수퍼유저(루트)만 usermod 명령을 실행할 수 있습니다.
  3. usermod 명령은 모든 Linux 배포판에서 실행할 수 있습니다.
  4. 옵션이 포함된 usermod 명령에 대한 기본 지식이 있어야 합니다.

Usermod의 옵션

'usermod' 명령은 기존 사용자를 변경할 수 있는 다양한 옵션과 함께 사용하기 간단합니다. 다음 옵션을 사용하여 Linux 상자의 일부 기존 사용자를 수정하여 usermod 명령을 사용하는 방법을 살펴보겠습니다.

  1. -c=사용자 계정에 대한 설명 필드를 추가할 수 있습니다.
  2. -d=기존 사용자 계정의 디렉토리를 수정합니다.
  3. -e=이 옵션을 사용하면 특정 기간에 계정이 만료되도록 할 수 있습니다.
  4. -g=사용자의 기본 그룹을 변경합니다.
  5. -G=보충 그룹을 추가합니다.
  6. -a=그룹의 누군가를 보조 그룹에 추가합니다.
  7. -l=로그인 이름을 tecmint에서 tecmint_admin으로 변경합니다.
  8. -L=사용자 계정을 잠급니다. 비밀번호가 잠기므로 계정을 사용할 수 없습니다.
  9. -m=홈 디렉토리의 내용을 기존 홈 디렉토리에서 새 디렉토리로 이동합니다.
  10. -p=새 비밀번호로 암호화되지 않은 비밀번호를 사용합니다. (보안되지 않음).
  11. -s=새 계정에 대해 지정된 셸을 만듭니다.
  12. -u=0~999 사이의 사용자 계정에 할당된 UID에 사용됩니다.
  13. -U=사용자 계정의 잠금을 해제합니다. 이렇게 하면 비밀번호 잠금이 제거되고 사용자 계정을 사용할 수 있습니다.

이 기사에서는 '15개의 usermod 명령'을 실제 예제와 Linux에서의 사용법과 함께 살펴보겠습니다. 이는 이러한 옵션을 사용하여 명령줄 기술을 배우고 향상시키는 데 도움이 될 것입니다.

1. 사용자 계정에 정보 추가

'-c' 옵션은 사용자 계정에 대한 간단한 설명(정보)을 설정하는 데 사용됩니다. 예를 들어, 다음 명령을 사용하여 'tecmint' 사용자에 대한 정보를 추가해 보겠습니다.

usermod -c "This is Tecmint" tecmint

사용자 정보를 추가한 후 /etc/passwd 파일에서도 동일한 설명을 볼 수 있습니다.

grep -E --color 'tecmint' /etc/passwd

tecmint:x:500:500:This is Tecmint:/home/tecmint:/bin/sh

2. 사용자 홈 디렉토리 변경

위 단계에서 홈 디렉토리가 /home/tecmint/ 아래에 있음을 알 수 있습니다. 이를 다른 디렉토리로 변경해야 하는 경우 -d를 사용하여 변경할 수 있습니다. usermod 명령을 사용한 옵션.

예를 들어, 홈 디렉터리를 /var/www/로 변경하고 싶지만 변경하기 전에 다음 명령을 사용하여 사용자의 현재 홈 디렉터리를 확인해 보겠습니다.

grep -E --color '/home/tecmint' /etc/passwd

tecmint:x:500:500:This is Tecmint:/home/tecmint:/bin/sh

이제 홈 디렉토리를 /home/tecmint에서 /var/www/로 변경하고 변경 후 홈 디렉토리를 확인하세요.

usermod -d /var/www/ tecmint
grep -E --color '/var/www/' /etc/passwd

tecmint:x:500:500:This is Tecmint:/var/www:/bin/sh

3. 사용자 계정 만료일 설정

'-e' 옵션은 YYYY-MM-DD 날짜 형식으로 사용자 계정에 만료 날짜를 설정하는 데 사용됩니다. 사용자에게 만료 날짜를 설정하기 전에 먼저 'chage'(사용자 비밀번호 만료 정보 변경) 명령을 사용하여 현재 계정 만료 상태를 확인하겠습니다.

chage -l tecmint

Last password change					: Nov 02, 2014
Password expires					: never
Password inactive					: never
Account expires						: Dec 01, 2014
Minimum number of days between password change		: 0
Maximum number of days between password change		: 99999
Number of days of warning before password expires	: 7

'tecmint' 사용자의 만료 상태는 2014년 12월 1일입니다. 'usermod -e를 사용하여 2014년 11월 1일로 변경하겠습니다. ' 옵션을 선택하고 'chage' 명령으로 만료일을 확인하세요.

usermod -e 2014-11-01 tecmint
chage -l tecmint

Last password change					: Nov 02, 2014
Password expires					: never
Password inactive					: never
Account expires						: Nov 01, 2014
Minimum number of days between password change		: 0
Maximum number of days between password change		: 99999
Number of days of warning before password expires	: 7

4. 사용자 기본 그룹 변경

사용자 기본 그룹을 설정하거나 변경하려면 usermod 명령과 함께 '-g' 옵션을 사용합니다. 사용자 기본 그룹을 변경하기 전에 먼저 tecmint_test 사용자의 현재 그룹을 확인하세요.

id tecmint_test

uid=501(tecmint_test) gid=502(tecmint_test) groups=502(tecmint_test)

이제 babin 그룹을 tecmint_test 사용자의 기본 그룹으로 설정하고 변경 사항을 확인하세요.

usermod -g babin tecmint_test
id tecmint_test

uid=501(tecmint_test) gid=502(babin) groups=502(tecmint_test)

5. 기존 사용자에 그룹 추가

'tecmint' 사용자에게 'tecmint_test0'이라는 새 그룹을 추가하려면 usermod 명령과 함께 '-G' 옵션을 사용할 수 있습니다. 아래 그림과 같이.

usermod -G tecmint_test0 tecmint
id tecmint

참고: '-G' 옵션만 사용하여 기존 사용자에게 새 그룹을 추가하는 동안 주의하세요. 사용자가 속합니다. 따라서 새 그룹을 추가하거나 추가하려면 항상 '-G' 옵션과 함께 '-a'(추가)를 추가하세요.

6. 사용자에 보조 및 기본 그룹 추가

보조 그룹 중 하나에 사용자를 추가해야 하는 경우 '-a' 및 '-G' 옵션을 사용할 수 있습니다. 예를 들어, 여기서는 wheel 사용자와 함께 tecmint_test0 사용자 계정을 추가하겠습니다.

usermod -a -G wheel tecmint_test0
id tecmint_test0

따라서 사용자 tecmint_test0는 기본 그룹과 보조 그룹(wheel)에 남아 있습니다. 이렇게 하면 내 일반 사용자 계정이 Linux 상자에서 루트 권한이 있는 명령을 실행할 수 있게 됩니다.

eg : sudo service httpd restart

7. 사용자 로그인 이름 변경

기존 사용자 로그인 이름을 변경하려면 '-l'(새 로그인) 옵션을 사용할 수 있습니다. 아래 예에서는 로그인 이름 tecminttecmint_admin으로 변경합니다. 따라서 사용자 이름 tecmint가 새 이름 tecmint_admin으로 변경되었습니다.

usermod -l tecmint_admin tecmint

이제 tecmint 사용자를 확인하세요. tecmint_admin으로 변경했기 때문에 해당 사용자는 존재하지 않을 것입니다.

id tecmint

tecmint_admin 계정을 확인하세요. 동일한 UID와 이전에 추가한 기존 그룹이 있을 것입니다.

id tecmint_admin

8. 사용자 계정 잠금

시스템 사용자 계정을 잠그려면 '-L'(잠금) 옵션을 사용할 수 있습니다. 계정이 잠긴 후에는 비밀번호를 사용하여 로그인할 수 없으며 !<가 표시됩니다./etc/shadow 파일의 암호화된 비밀번호 앞에 추가되면 비밀번호가 비활성화되었음을 의미합니다.

usermod -L babin

잠긴 계정을 확인하세요.

grep -E --color 'babin' cat /etc/shadow

9. 사용자 계정 잠금 해제

'-U' 옵션은 잠긴 사용자의 잠금을 해제하는 데 사용됩니다. 이렇게 하면 암호화된 비밀번호 앞에 있는 !가 제거됩니다.

grep -E --color 'babin' /etc/shadow
usermod -U babin

잠금 해제 후 사용자를 확인하세요.

grep -E --color 'babin' /etc/shadow

10. 사용자 홈 디렉토리를 새 위치로 이동

홈 디렉토리 '/home/pinky'가 있는 'pinky'라는 사용자 계정이 있고 '/var'라고 말하는 새 위치로 이동하고 싶다고 가정해 보겠습니다. /핑키'. '-d' 및 '-m' 옵션을 사용하여 기존 사용자 파일을 현재 홈 디렉토리에서 새 홈 디렉토리로 이동할 수 있습니다.

계정을 확인하고 현재 홈 디렉터리인지 확인하세요.

grep -E --color 'pinky' /etc/passwd

그런 다음 사용자 pinky가 소유한 파일을 나열합니다.

ls -l /home/pinky/

이제 홈 디렉토리를 /home/pinky에서 /var/pinky로 이동해야 합니다.

usermod -d /var/pinky/ -m pinky

다음으로 디렉터리 변경을 확인합니다.

grep -E --color 'pinky' /etc/passwd

'/home/pinky' 아래에서 파일을 확인하세요. 여기서는 -m 옵션을 사용하여 파일을 이동했으므로 파일이 없습니다. 이제 핑키 사용자 파일은 /var/pinky 아래에 있습니다.

ls -l /home/pinky/
ls -l /var/pinky/

11. 사용자의 암호화되지 않은 비밀번호 생성

암호화되지 않은 비밀번호를 생성하려면 '-p'(비밀번호) 옵션을 사용합니다. 시연을 위해 pinky 사용자에게 'redhat'라는 새 비밀번호를 설정하겠습니다.

usermod -p redhat pinky

비밀번호를 설정한 후 이제 섀도우 파일을 확인하여 암호화된 형식인지 암호화되지 않은 형식인지 확인하세요.

grep -E --color 'pinky' /etc/shadow

참고: 위 이미지에서 보셨나요? 비밀번호는 모든 사람에게 명확하게 표시됩니다. 따라서 이 옵션은 비밀번호가 모든 사용자에게 표시되므로 사용하지 않는 것이 좋습니다.

12. 사용자 쉘 변경

사용자 로그인 셸은 사용자 생성 중에 useradd 명령을 사용하여 변경 또는 정의하거나 '-s' 옵션을 사용하여 'usermod' 명령으로 변경할 수 있습니다( 껍데기). 예를 들어 'babin' 사용자는 기본적으로 /bin/bash 셸을 가지고 있는데 이제 이를 /bin/sh로 변경하고 싶습니다. .

grep -E --color 'babin' /etc/passwd
usermod -s /bin/sh babin

사용자 쉘을 변경한 후 다음 명령을 사용하여 사용자 쉘을 확인한다.

grep -E --color 'babin' /etc/passwd

13. 사용자 ID(UID) 변경

아래 예에서 내 사용자 계정 'babin'이 UID 502를 보유하고 있는 것을 볼 수 있습니다. 이제 이를 888로 변경하겠습니다. 내 UID로. 0에서 999 사이의 UID를 할당할 수 있습니다.

grep -E --color 'babin' /etc/passwd
OR
id babin

이제 '-u'(uid) 옵션을 사용하여 babin 사용자의 UID를 변경하고 변경 사항을 확인해 보겠습니다.

usermod -u 888 babin
id babin

14. 여러 옵션으로 사용자 계정 수정

여기에는 jack 사용자가 있으며 이제 위에서 논의한 대로 모든 옵션이 포함된 하나의 단일 명령을 사용하여 그의 홈 디렉터리, 셸, 만료 날짜, 레이블, UID 및 그룹을 한 번에 수정하려고 합니다.

Jack 사용자의 기본 홈 디렉토리는 /home/jack입니다. 이제 이 디렉토리를 /var/www/html로 변경하고 해당 사용자에게 할당하겠습니다. 쉘을 bash로 설정하고 만료 날짜를 2014년 12월 10일로 설정하고 새 레이블을 This is jack으로 추가하고 UID를 555로 변경하면 그는 apple 그룹의 구성원이 됩니다.

이제 다중 옵션을 사용하여 jack 계정을 수정하는 방법을 살펴보겠습니다.

usermod -d /var/www/html/ -s /bin/bash -e 2014-12-10 -c "This is Jack" -u 555 -aG apple jack

그런 다음 UID 및 홈 디렉토리 변경 사항을 확인하십시오.

grep -E --color 'jack' /etc/passwd

계정 만료 확인.

chage -l jack

잭이 모두 속한 그룹을 확인하세요.

grep -E --color 'jack' /etc/group

15. 사용자의 UID 및 GID 변경

현재 사용자의 UID와 GID를 변경할 수 있습니다. 새 GID로 변경하려면 기존 그룹이 필요합니다. 여기에는 GID가 777orange라는 이름의 계정이 이미 있습니다.

이제 내 jack 사용자 계정에 666의 UID와 Orange(777)의 GID를 할당하려고 합니다.

수정하기 전에 현재 UID와 GID를 확인하세요.

id jack

UID와 GID를 수정합니다.

usermod -u 666 -g 777 jack

변경 사항을 확인하세요.

id jack

결론

여기에서는 usermod 명령과 옵션을 매우 자세하게 사용하는 방법을 살펴보았습니다. usermod 명령을 알기 전에 usermod를 사용하려면 'useradd' 명령과 해당 옵션을 알아야 합니다. 기사에서 누락된 내용이 있으면 댓글을 통해 알려주시고 소중한 의견을 추가하는 것도 잊지 마세요.