사용자 및 그룹관리
# cat /etc/passwd 명령어를 사용 했을 때 나오는 결과
사용자 : 암호 : 사용자ID : 사용자그룹ID : 전체이름 : 홈디렉터리 : 기본셸 순서이다
관리자(root)는 사용자ID와 사용자그룹ID가 0으로 표시된다
암호가 x로 표시되는 이유는 보안에 취약할 수 있기 때문에 x로 표시되고 실제 암호는 해쉬값으로 변환되어 /etc/shadow 파일에 저장된다
# cat /etc/group : 현재 만들어진 그룹을 확인
다양한 그룹이 나올텐데 일반사용자는 그룹ID가 1000번부터 시작한다
따라서 사용자ki는 첫번째로 만든 사용자임을 알 수 있다
이제 사용자를 추가하는 법을 배워보자
# useradd [사용자명] : 사용자를 추가
# passwd [비밀번호] : 비밀번호를 설정
만약 이 때 너무 짧거나 반복되는 암호를 설정하면 경고 메시지가 뜬다
무시하고 한번 더 입력하면 그 비밀번호를 사용할 수 있게 된다
만들어진 사용자를 삭제하고 싶다면
# userdel [사용자명] 을 사용하여 삭제할 수 있다
$ chage [사용자명] 을 사용하면 계정의 비밀번호에 대한 정보를 알 수 있다
$ chage -l : 확인만 할 때
$ chage -m [숫자] : 최소 의무 사용기간 지정
$ chage -M [숫자] : 최대 사용 기간 지정
$ chage -E [숫자] : expire 날짜 지정
$ chage -W [숫자] : 경고일 지정
그룹 관리
$ groups : 그룹 목록 확인
$ groups [사용자] : 사용자가 속한 그룹 확인
$ groupadd [그룹명] : 그룹 생성
$ usermod -g [그룹명] [사용자] : 사용자를 그룹으로 지정
$ groupdel [그룹명] : 그룹 삭제
$ gpasswd [그룹명] : 그룹에 비밀번호를 설정
$ gpasswd -A [사용자] : 사용자를 그룹의 관리자로 지정
$ gpasswd -a [사용자] : 그룹에 사용자를 추가
$ gpasswd -d [사용자] : 그룹에서 사용자 제거
파일과 디렉터리 권한 (소유권과 허가권)
터미널에서 ls -l 또는 ll을 입력
이 때 맨 앞부분을 보면 권한이 어떻게 설정되어 있는지 알 수 있다
기본적인 구조는 -rwxrwxrwx인데 이때
첫 3자리는 소유자(user), 가운데 3자리는 그룹(group), 마지막 3자리는 기타(other)의 권한을 나타낸 것이다
r (4) : 읽기
w(2) : 쓰기
x (1) : 실행
- (0) : 권한 없음
이 권한은 숫자로도 표현할 수 있다
-rw------- : 4+2=6, 0, 0 -> 600
-rwxr--r-- : 4+2+1=7, 4, 4 -> 744
어떤 파일의 권한이
-rwxr--r--이라면 소유자는 읽기, 쓰기, 실행이 모두가능하며 그룹과 기타는 읽기만 가능한 파일이다
어떤 파일의 권한을 바꾸고 싶다면 아래 명령어를 이용하면 된다
# chmod 700 a.lst : 기존의 권한을 -rwx------으로 바꿈
# chmod u+x : user에 실행권한(x)를 추가(+)
# chmod o-w : other에 쓰기권한(w)를 제거(-)
특수권한
SetUID
저 파일의 passwd는 root의 소유이며, root권한이 없다면 사용할 수 없지만
setUID권한이 있기 때문에 일반사용자가 실행하면 root권한을 잠시 빌려서 사용할 수 있게 된다
세번째 자리에 x대신 s가 들어가 있는 모습을 볼 수 있다
# chmod u+s : user에 setUID권한(s)를 추가(+)
# chmod 4XXX : 설정할 권한 앞에 4를 붙이면 된다
위 명령어로 setUID 권한을 부여할 수 있다
SetGID
여섯번째 자리에 x대신 g가 들어가게 된다
setUID와 같은 방식이지만 setGID는 group 권한을 빌려 사용하는 것이다
# chmod u+g : user에 setGID권한(g)를 추가(+)
# chmod 2XXX : 설정할 권한 앞에 2를 붙이면 된다
위 명령어로 setGID 권한을 부여할 수 있다
StickyBit
디렉토리에 stickybit가 설정되어 있으면 자신이 만든 파일에 대해서만 수정하거나 삭제할 수 있게 된다.
다른 사람의 파일은 수정하거나 삭제할 수 없다
쉽게 공유디렉터리라고 생각하면 된다
# chmod 1XXX : 설정할 권한 앞에 1을 붙이면 된다
'리눅스' 카테고리의 다른 글
VMware에 리눅스(Ubuntu Desktop) 설치하기 (0) | 2023.06.01 |
---|---|
리눅스(Linux) 기본 명령어 모음 (0) | 2023.05.30 |