superuser
- Superuser
- 시스템 운영 관리자 계정
- 일반적으로 root 유저를 말함
- 내 pc이더라도 superuser가 아닐 수 있음
- 내가 로그인한 사용자 이름 확인
- 내가 가지고 있는 권한 및 포함된 그룹 확인
sudo
sudo 명령어는 superuser의 권한을 잠시 빌리는 것이다.
누가 sudo 권한을 빌려올 수 있는지에 대한 정책도 필요하다.
이 정책을 설정하는 것이 sudoers 파일이고 해당 파일은 아래 보이는 것 처럼 읽기 전용 파일이기 때문에 함부로 쓸 수 없다.
sudoers 파일은 visudo를 통해 변경할 수 있다. 여기서는 수행하지 않음.
sudo visudo
visudo로 설정파일을 변경하는 것은 권장되지 않고 아래와 같이 사용자를 sudo 권한에 추가하는 방법을 보통 사용한다.
useradd -aG username sudo
su
su 명령어는 사용가의 권한을 대여하는 것으로 해당 사용자로 로그인 한 것 같은 효과가 있다. 보통 관리자가 사용자 계정을 관리할 때 사용한다.
- 새로운 사용자 추가
실습을 위해 새로운 유저를 생성해본다. 새로운 유저를 위한 그룹과 home 디렉토리가 생성된다.
sudo adduser newuser
사용자 생성 기본값은 아래와 같이 확인할 수 있다.
- 새로운 유저의 아이디로 로그인 (새로운 유저의 비밀번호 필요, 현재 디렉토리 사용)
su <username>
- 새로운 유저의 아이디로 로그인 (새로운 유저의 비밀번호 필요, 새로운 유저의 home 디렉토리 사용)
su - <username>
- root 사용자의 권한으로 로그인 (현재 디렉토리 사용)
sudo su
- root 사용자의 권한으로 로그인 (root의 home 디렉토리 사용)
sudo su -
사용자 계정 확인
- 사용자 계정 확인
사용자 계정은 보통 1000번 부터 시작한다. 웹 서비스는 www-data 권한으로 실행되고 특정 서비스를 실행하기 위해서 사용하는 계정 권한은 servic account라고 한다. 이 servic account 는 프로세스가 실행될때 권한이 필요한 것이라 따로 로그인할 필요는 없다.
- 계정 ID
- 0: root
- 1~99: predefined service account
- 100~999: administrative and system account (필요에 의해 사용자가 정의할 수 있는 account)
- 1000~: 일반 user account
cat /etc/passwd
- 사용자 암호 확인
cat /etc/shadow
- 사용자 그룹 확인
cat /etc/group
사용자 암호 변경
내 계정이 아닌 다른 계정의 비밀번호를 바꾸기 위해서는 sudo 권한이 필요하다.
passwd [options] user
사용자 삭제
사용자를 삭제할 때 해당 사용자의 파일을 함께 삭제하지 않는다. 남아 있는 파일은 또 다른 새로운 사용자를 생성할 때 user id가 중복되면 다시 매핑이 되어 다시 접근하여 사용할 수 있다.
del user
사용자의 파일까지 완벽하게 삭제하려면 home 디렉토리도 함께 삭제해야 한다. 삭제된 파일은 복구가 불가능하다.
del user --remonve-home
그룹 생성 및 삭제
- 그룹 생성
같은 공유 자원을 사용하기 위해 그룹을 생성하여 사용한다.
addgroup group
그룹에는 나 자신이 포함된 primary group과 다른 권한을 사용할 수 있는 secondary group이 있다.
- 그룹 삭제
delgroup group
그룹에 사용자 할당
usermod -aG group user
deluser user group