리눅스

리눅스(Linux) 사용자 관리와 파일 속성

기묘한 고라니 2023. 5. 31. 17:41

사용자 및 그룹관리

 

# 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