0부터 시작하는 Linux 공부 - 사용자와 그룹
1. 사용자의 홈 디렉토리 지정
- useradd 파일에 사용자를 생성할 때 기본 설정이 정의되있다
- 다음과 같이 바꾼다
- 서버의 디렉토리에 사용자 별 웹 사이트 기본 디렉토리를 두는데, 공간이 부족해지는 경우를 대비해 외부 스토리지의 Volume을 마운트해서 newhome이라는 디렉토리를 사용할 수 있다
- newhome 디렉토리를 만들고, 정보를 확인하자
- 유저를 생성하면, newhome 디렉토리에 user2의 홈 디렉토리가 생성됬다
- 상세 정보를 확인하면, 소유주인 user2만 r / w / x 가 가능한 것을 알 수 있다
- rwx --- --- 는 퍼미션으로 3글자씩 끊어서 읽으며, 소유주 / 그룹 사용자 / 그 외 사용자 순이다
- root 는 소유주 , 그룹 사용자 , 그 외 사용자 어디에도 포함되지 않으며 권한에 제한이 없다
- chmod nnn 으로 권한을 바꿀 수 있는데, n은 8진법으로 rwx는 8진법으로 4/2/1 을 의미한다. 만약 해당 자리가 1이면, 가능하게 한 것으로 111은 rwx 모두 허가한 것으로 7로 쓴다. 현재 rwx --- --- 는 700을 의미한다
- 파일을 하나 만들고, 권한을 확인하자. 날짜는 최근 변경된 날짜 및 시간을 표시해준다
- 우리는 이 파일의 권한을 rwx r-- r-- 로 변경할 것 이다
- 이렇게도 가능하다 = chmod 744
- u : 소유주 / g : 그룹 / o : 그 외 사용자
- +는 권한 추가, -는 권한 해제다. u+x는 소유주에게 실행 권한을 주는 것이며, 만약 앞에 u/g/o를 지정안하고, +x 나 -x 와 같이 사용하면, 소유주 / 그룹 / 그 외 사용자 모두의 권한을 설정하는 것이다
2. 사용자 관련 명령어
- 사용자는 다음과 같이 개별로 설정하여 생성할 수 있다
- usermod로 사용자 설정을 변경할 수 있다
- 다음과 같이 그룹을 변경할 수 있다
- 사용자는 무조건 Primary Group 에 포함되며, 다수의 그룹에 있을시 무조건 한 그룹은 Primary Group 여야 한다
- g : 강제로 사용자의 Primary Group 을 해당 Group으로 변경한다
- aG : 현재 사용자가 포함된 Group은 유지하면서, 새로운 Group에 포함시킨다
- a는 추가해주는 것인데, g는 하나로만 해주는 것이므로 둘이 같이 사용 못 하며, a는 무조건 G랑 같이 써야한다
- 다음과 같이 기존 그룹을 유지하면서, 새로운 그룹에 포함시켰다
3. PASSWORD 명령어
- echo "유저명:password" | chpasswd 를 통해 지정할 수 있다
- passwd 유저명 으로도 지정 가능 하다
chage
- 사용자의 password 를 주기적으로 변경하기 위한 설정
4. Group 명령어
- groups ~ : ~ 유저가 소속된 그룹 확인
- groups : 현재 사용자가 소속된 그룹 확인
- 위와 같이 생성 / 변경 / 삭제 가 가능하다
- userdel 을 하면, user는 삭제되지만 user의 홈 디렉토리가 남으므로 userdel -r 을 통해 홈 디렉토리도 삭제해야 한다