- 사용자와 그룹은 시스템에서 필수적인 요소이다.
- 사용자가 없으면 시스템에 로그인할 수도 없고 사용할 수도 없음.
사용자
- 로그인 대상
- 접근 제어 기준으로 분류(1차적)
- 다른 사용자와 명령을 실행할 수 있는 프로그램 간의 보안 경계 제공
- 일반 사용자로 root 디렉토리 내 파일 리스트나 /etc/shadow 파일 내용을 볼 수 없음
- 사용자 종류
- 0번 : root
- 1~999번 : 시스템 사용자, 프로세스에서 사용. 각각의 프로세스에 맞춰 시스템에 대한 엑세스 제한
- 1000번 : 일반 사용자
그룹
- 각 사용자에게 권한 부여를 하기엔 작업이 많다
- 사용자들의 집합, 접근 제어기준으로 분류(2차적)
사용자 및 그룹 확인
- cat /etc/passwd | grep root
- root:x:0:0:root:/root:/bin/bash
- 사용자의 이름 로그인 시 사용
- 패스워드 - (/etc/shadow 파일에 저장)
- 사용자의 UID, 시스템에서 사용자 식별 번호
- 그룹의 GID, 시스템에서 그룹 식별 번호
- 메모 or 코멘트
- 사용자의 홈디렉토리
- 사용중인 쉘
- cat /etc/group | grep root
- root:x:0:
- 그룹이름
- 그룹패스워드 - (/etc/shadow 파일에 저장)
- GID, 시스템에서 그룹 식별 번호
- 이 그룹을 보조적으로 사용하고 있는 사용자들의 목록
- id - 사용자의 정보 확인
슈퍼유저(root)
- 다양한 권한 가진 사용자
- uid가 0번으로 고정
- 일반 사용자에서 root 사용자로 로그인할 때 → “su -” 사용한다.
- sudo → 관리자 권한으로 명령 실행
- sudo 사용 시 /var/log/secure 파일에 로그가 남는다, 관리자 권한이 있는 사용자만 사용 가능
사용자제어 - 관리자권한 필요
useradd user1 - 일반 사용자 생성시 그룹도 같이 생성된다.
- u number → 사용자의 아이디를 지정한다(UID), 똑같은 GID생성됌. 마지막 생성된 번호 뒤 번호를 준다.
- g number → u는 자동생성이지만, g옵션은 이미 있는 그룹만 설정할 수 있다.
- G number → 보조그룹
- s /bin/sh → 쉘 설정
- D x → 사용자 생성 시 디폴트 값 확인
usermod - 사용자 변경
- u → 유저아이디 변경 ex) usermod -u 1111 user1
- g → 유저그룹 변경 ex) usermod -g 1004 user1
- s → 쉘변경 ex) usermod -s /bin/bash user3
- /sbin/nologin → 쉘 필요없는 경우
userdel - 사용자 제거
- ex) userdel user5 → uesr5가 속한 그룹에 다른 사용자가있다면 그룹은 유지된다.
- 사용자 홈 디렉토리는 그대로 남아있다.
- r → 사용자 홈 디렉토리도 전부 삭제한다.
groupadd - 그룹 생성
- ex) groupadd group1
- ex) groupadd -g 2000 group2 2000번 그룹아이디를 group2를 가진 이름으로
groupmod - 그룹 변경
- ex) groupmod -g 3000 group2 → 3000번그룹으로 group2 이동
- ex) groupmod -G 10 user2 → user2를 10번을 보조그룹으로 사용
groupdel - 그룹삭제
- ex) groupdel group2
su - user1 → 루트에서 일반 사용자로 로그인
su - → 일반사용자에서 루트로 로그인
사용자 생성 후 관리자 권한
- passwd user1 → 비밀번호 설정 ex)1234
- vim /etc/sudoers → user1에게 권한을 준다 or wheel 그룹에게 넣어주기
사용자 암호 관리
head -n 1 /etc/shadow
# 결과
root:
$6 # 해시알고리즘종류, sha512
$HdqWCn3nxMB1TIeB # 추가된 랜덤값(solt값)
$A3PQsDtRV286jKaatpyfyTlfu8mgJe3yI.9IVM1FdJwa7f3AlpIwQE3VH0BxJVzW2yLedMdl7RAZi28EfkLnJ.: # 결과값
: # 공백, 암호가 변경된 마지막 날 UTC 시간대로 계산,19700101 이후로 설정
0: # 사용자가 암호를 다시 변강하기 위해 경과해야하는 최소 일 수
99999: # 암호 만기일, 1970년 1월 1일 기준으로 설정
7: # 암호 민기일 전 경고 기간.
: # 만기일 이후 로그인 할 수 있는 유예기간.
: # 계정 만료일
# 사용 x, 예약
# 2번째 필드
* 패스워드 잠금 상태 별도의 인증 방식
!! 암호 설정 x
chage - 비밀번호와 관련된 설정
- l → 설정확인
- m → 암호변경 최소 일 수 설정
- M → 암호 최대사용기간 설정
- W → 암호 변경 경고 기간
- I → 비활성 기간
- ex) chage -W 30 user1
파일의 권한과 사용
linux는 다중 사용자 로그인 지원
퍼미션과 소유권을 통해서 파일에 대한 접근을 제어
권한 확인
ls -l로 확인
- r - 파일 내용 읽기/ 디렉토리 내 파일 정보확인
- w - 파일 내용 편집/ 디렉토리 파일 생성 및 삭제
- x - 실행파일 경우에만 실행/ 디렉토리 접근
권한 설정
chmod [option] permission File
- 누가? u g o a → 소유자/소유그룹/기타/모두
- 어떻게? + - = → 추가/제거/세팅
- 무엇? r w x → 읽기/쓰기/실행 → 4/2/1
- ex) chmod g+w file → 소유 그룹에 file에 대한 쓰기 권한 부여 = 심볼릭모드
- ex) chmod u+x fileA, chmod g+w fileA, chmod o-r fileA → chmod 760 fileA = 8진수모드
특수권한 설정
rws이라고 x대신 s, t 기능이 있는 경우가 있다.
- setuid 소유자에서 s, 본인 비밀번호는 루트가 아니여도 바꿀수있는 개념.
- setgid 소유그룹에서의 s, 디렉토리에서 설정할 수 있는 기능, 새로 생성된 파일에는 디렉토리 소유그룹이 그대로 상속된다.
- sticky bit 기타사용자에서 t, 특정 디렉토리를 누구나 자유롭게 사용, 쓰기는 아무나 가능하나 타 사용자가 삭제는 못한다.
- ex) chmod 3675 dirB → 앞에 3이 setuid, setgid, sticky_bit가 합쳐진 값
소유자 및 그룹 변경
[EX]
- chown user1 fileA → user1에게 fileA의 권한을 준다.
- chown :user1 fileA → user1의 소유그룹에 fileA의 권한을 준다.
- chown root:root fileA → root와 root 소유 그룹에 fileA 권한을 준다.
초기권한 설정 - umask
- /etc/profile에 저장되어있음
- 디렉토리 777-umask
- 파일 666-umask
'Language > Linux' 카테고리의 다른 글
Linux 네트워크 설정 및 ssh 접속 종류 (0) | 2022.03.08 |
---|---|
Linux 로그 옵션 (0) | 2022.03.08 |
Linux 서버 통신을 위한 관리 (0) | 2022.03.08 |
Linux 프로세스 관리 (0) | 2022.03.08 |
Linux 아카이브와 압축 (0) | 2022.03.08 |