리눅스/리눅스_입문

users, useradd,passwd

HYC 2023. 4. 21. 00:17

유저와 그룹


users  : 현재 로그인하고 있는 users을 출력한다. -> who -q도 로그인하고 있는 users 출력한다.

1 users, who -q, who 명령어 실행 결과



groups  : 현재 쉘에 접속해 있는 유저가 속해 있는 그룹 출력한다.

 

2 groups 명령어 실행 결과, 그룹 번호 확인 방법


useradd [유저 아이디명]  : 유저를 추가할 때 사용한다. -> adduser 명령어도 유저를 추가할 수 있다.
userdel [유저 아이디명]  : 유저를 삭제할 때 사용한다.
passwd  [유저 아이디명]   : 유저 아이디의 패스워드 지정할 수 있다.

 

3 useradd 명령어로 유저 추가하고 passwd 명령어로 유저 패스워드 설정

 

4 /etc/passwd  파일에 추가한 centos 가 입력된 것을 확인

 

5 userdel 명령어 실행 결과 -> 추가한 유저는 없지만 삭제한 유저의 홈디렉터리가 남아있다


삭제한 유저의 홈디렉터리가 남아 있으면 나중에 삭제한 유저를 다시 추가할 때 삭제했다가 추가한 유저의 홈디렉터리가 남았다고 메시지가 출력된다. 유저를 삭제했으면 유저의 홈디렉터리까지 모두 삭제하는 것이 좋다.
userdel -r [유저 아이디명]  : 유저 아이디와 홈디렉터리 모두 삭제한다.

 

6 userdel -r [유저 아이디명] 으로 홈디렉터리 삭제



usermod   : 유저의 각종 정보를 변경.
groupmod  : 그룹의 이름이나 아이디 변경.

 

7 usermod -g [A] [B] 명령어로 B의 그룹(-g)을 A로 변경.  groups B 로 유저:B(변경된 그룹)


groupmod -n [C] [D] : 그룹 [D]를  그룹 [C]로 변경. ([C] = 기존 그룹명 , [D] = 새로 변경할 그룹명)

id  : 유저의 아이디와 그룹아이디, 소속되어 있는 그룹명 등을 출력한다. -> 환경 변수인 UID, EUID, GROUPS 변수의 값을 출력한다.

8 id 명령어 실행 결과


lid : list id, 유저가 소속되어 있는 그룹 출력.

9 lid [유저명] 실행 결과


who  : 현재 로그인 되어 있는 유저 목록 출력. 
  -> (who -m)   : 현재 쉘을 사용하고 있는 유저의 접속 정보를 출력.
  -> whoami     :  현재 쉘을 사용하고 있는 유저의 아이디 출력.  -> (id -un)

 

10 현재 로그인 되어 있는 유저 목록 출력하는 명령들 실행 결과



(who -m) 실행 결과 (chj)가 출력되는 것은 chj로 로그인한 다음 su - 명령으로 슈퍼유저로 접근했기 때문에 (chj) 결과가 나온다.
(whoami) 실행 결과 (root)가 출력되는 것은 단순히 현재 쉘을 사용하고 있는 유저가 root 슈퍼유저이므로 (root)가 출력된다.
 
w    : 로그인한 모든 유저에 대한 정보를 출력한다. 현재 접속 중인 유저들의 실행 중인 명령을 검색하기 위해 grep 명령과 파이프로 연결하여 사용하기도 한다.

11 w 명령 실행 결과


logname  : 현재 유저의 로그인명을 출력, /var/run/utmp 파일에서 찾아낸다.

12 logname 실행결과와 whoami 실행결과 차이


su    : 한 유저가 잠시 다른 유저로 전환.

13 옵션 없이 su 명령어만 실행한 결과

현재 디렉터리를 변경하지 않으며 기존 유저의 환경 변수를 그대로 가진다.

sudo  : 슈퍼 유저 또는 다른 유저로 명령을 실행하게 한다.
sudo에 대한 설정내용은 /etc/sudoers 파일에 정의되어 있다.

14  sudo 명령으로 /root 디렉터리의 파일 목록을 읽으려 한다 -> 패스워드 물을 때 chj 유저 패스워드를 입력해야 한다 root 패스워드 입력하면 안 된다


현재 chj 유저는 sudoers 파일에 sudo 사용자로 지정되지 않아서 에러 발생한다.

15 /etc/sudoers 파일을 vim 에디이터로 열고 chj 유저를 추가

 

16 chj 홈디렉터리에서 sudo 명령으로  /root 디렉터리 목록을 출력


passwd : 유저의 패스워드를 생성 / 변경한다.

17 passwd 명령으로 기존의 패스워드 변경


ac   : /var/log/wtmp 파일로부터 유저의 로그인 시간을 시간 단위로 출력.

18 ac 명령어 실행 결과 -> ac -d 명령으로 날짜별로 로그인 시간 출력


last : /var/log/wtmp 파일로부터 모든 유저의 마지막 로그인 시간을 출력한다. 아규먼트 없이 실행하면 모든 유저를 출력하고, reboot 아규먼트를 사용하면 reboot한 날짜와 시간을 출력한다. 아규먼트로 chj를 사용하면 chj에 대한 로그인 시간을 출력한다.

19 last 명령어 실행 결과


newgrp  : 자신이 소속된 그룹을 새 그룹으로 변경 / 추가하지만 현재 쉘을 빠져나오면 초기화된다.

 

20 id 명령어로 현재 그룹 확인 -> newgrp 명령어로 그룹변경 -> exit로 빠져 나와서 원래 그룹으로 다시 변경됨.