users, useradd,passwd
유저와 그룹
users : 현재 로그인하고 있는 users을 출력한다. -> who -q도 로그인하고 있는 users 출력한다.
groups : 현재 쉘에 접속해 있는 유저가 속해 있는 그룹 출력한다.
useradd [유저 아이디명] : 유저를 추가할 때 사용한다. -> adduser 명령어도 유저를 추가할 수 있다.
userdel [유저 아이디명] : 유저를 삭제할 때 사용한다.
passwd [유저 아이디명] : 유저 아이디의 패스워드 지정할 수 있다.
삭제한 유저의 홈디렉터리가 남아 있으면 나중에 삭제한 유저를 다시 추가할 때 삭제했다가 추가한 유저의 홈디렉터리가 남았다고 메시지가 출력된다. 유저를 삭제했으면 유저의 홈디렉터리까지 모두 삭제하는 것이 좋다.
userdel -r [유저 아이디명] : 유저 아이디와 홈디렉터리 모두 삭제한다.
usermod : 유저의 각종 정보를 변경.
groupmod : 그룹의 이름이나 아이디 변경.
groupmod -n [C] [D] : 그룹 [D]를 그룹 [C]로 변경. ([C] = 기존 그룹명 , [D] = 새로 변경할 그룹명)
id : 유저의 아이디와 그룹아이디, 소속되어 있는 그룹명 등을 출력한다. -> 환경 변수인 UID, EUID, GROUPS 변수의 값을 출력한다.
lid : list id, 유저가 소속되어 있는 그룹 출력.
who : 현재 로그인 되어 있는 유저 목록 출력.
-> (who -m) : 현재 쉘을 사용하고 있는 유저의 접속 정보를 출력.
-> whoami : 현재 쉘을 사용하고 있는 유저의 아이디 출력. -> (id -un)
(who -m) 실행 결과 (chj)가 출력되는 것은 chj로 로그인한 다음 su - 명령으로 슈퍼유저로 접근했기 때문에 (chj) 결과가 나온다.
(whoami) 실행 결과 (root)가 출력되는 것은 단순히 현재 쉘을 사용하고 있는 유저가 root 슈퍼유저이므로 (root)가 출력된다.
w : 로그인한 모든 유저에 대한 정보를 출력한다. 현재 접속 중인 유저들의 실행 중인 명령을 검색하기 위해 grep 명령과 파이프로 연결하여 사용하기도 한다.
logname : 현재 유저의 로그인명을 출력, /var/run/utmp 파일에서 찾아낸다.
su : 한 유저가 잠시 다른 유저로 전환.
현재 디렉터리를 변경하지 않으며 기존 유저의 환경 변수를 그대로 가진다.
sudo : 슈퍼 유저 또는 다른 유저로 명령을 실행하게 한다.
sudo에 대한 설정내용은 /etc/sudoers 파일에 정의되어 있다.
현재 chj 유저는 sudoers 파일에 sudo 사용자로 지정되지 않아서 에러 발생한다.
passwd : 유저의 패스워드를 생성 / 변경한다.
ac : /var/log/wtmp 파일로부터 유저의 로그인 시간을 시간 단위로 출력.
last : /var/log/wtmp 파일로부터 모든 유저의 마지막 로그인 시간을 출력한다. 아규먼트 없이 실행하면 모든 유저를 출력하고, reboot 아규먼트를 사용하면 reboot한 날짜와 시간을 출력한다. 아규먼트로 chj를 사용하면 chj에 대한 로그인 시간을 출력한다.
newgrp : 자신이 소속된 그룹을 새 그룹으로 변경 / 추가하지만 현재 쉘을 빠져나오면 초기화된다.