=======
Linux 계정 및 그룹 관리
계정
- 사용자를 식별하고 인증을 받거나 로컬/네트워크 자원에 접근하는 것을 가능하게 해주는 객체
umask (초기 허가권 관리)
- 리눅스 시스템에서 자원을 생성할 때 설정되는 기본 권한을 통합 관리하기 위해 사용
- 디렉터리는777 권한, 파일은 666 권한에서 umask값을 뺀 값이 기본 권한으로 설정됨
- 파일은 기본 실행 권한을 빼고 설정됨
리눅스 특수 권한
특수권한(Special Permission)
- 시스템 관리의 효율성을 높이기 위해 사용하는 특별한 권한
- 보안의 취약점이 될 수 있으므로 꼭 필요한 경우가 아니면 사용하지 않는것이 좋음
- 보안의 취약점 때문에 잘 사용하지 않음
특수 권한 절대 모드 상대 모드
SetUID 4000 u+s
SetGID 2000 g+s
Sticky bit 1000 o+t
SetUID ( 4000 = u+s )
- 파일을 실행하는 동안 해당 파일의 소유주의 권한으로 실행
- 일반적인 실행은 파일을 이용하려는 사용자의 소유권에 의해 실행권한이 부여되지만, SetUID 권한이 적용되어 있는 파일은 실행되는 동안은 사용자가 아닌 파일의 소유주의 권한을 할당 받음
- 실행 파일에만 의미가 있다 , 실행 파일이 아니면 의미가 없다.
- 소유자의 허가권에서 실행 권한이 x가 아닌 s로 표시 됨(s는 x를 포함한다, 실행할수있다는말, 실행 파일이 아닐시 소문자 s가 아닌 대문자 S로 표시된다)
- 특별한 경우에만 SetUID가 설정 되있음
예시(passwd)
- 패스워드를변경하면/etc/shadow 파일의 읽기 및 쓰기 권한을 가지고 있어야지 패스워드를 기록할 수 있음
- passwd 실행 파일에 SetUID 권한이 부여 되어 있으므로 passwd 명령이 실행되는 동안은 소유주의 권한(root)으로 동작하게 됨
SetGID (2000 = g+s)
- 파일을 실행하는 동안 해당 파일의 소속 그룹 권한으로 실행
- 파일이 실행되는 동안은 사용자가 아닌 파일의 소속 그룹 권한을 할당 받음
- 파일 및 디렉터리에서 설정 가능
- 소속 그룹의 허가권에서 실행 권한이x가아닌s로표시됨(예: rwxr-sr--)
디렉터리적용
- SetGID가 적용된 디렉터리의 하위에 생성되는 디렉터리도 동일하게 SetGID가 설정됨
- SetGID가 적용된 디렉터리 안에서 새로운 디렉터리를 생성하면 SetGID에 명시된 소속 그룹으로 설정됨
Sticky bit (1000 = o+t)
- 모든 소유권에 모든 허가권을 부여하지만 삭제는 소유주만 가능함
- 디렉터리에 설정함
- 나머지 사용자(other)의 허가권에서 실행 권한이x가 아닌 t로 표시됨(예: rwxr-xr-t)
- /tmp, /var/tmp에 적용되어 있음
- 기본 소유권과 허가권을 먼저 확인하기 때문에 기본 허가권에 삭제 권한이 있으면 삭제가 가능함
속성 설정
lsattr
- 파일의 속성을 보는 명령어
chattr
- 속성 추가
chattr +a 파일 이름
- 파일에 대해 내용 추가만 가능, 내용 삭제나 파일삭제 불가능하게 만드는것
- 로그파일에 제격인 속성
chattr +i 파일 이름
- i = 불변
- 파일이 완성되어 더이상 건드리지 않아도 될때, 하지만 보관해야할때 주는 속성
- 삭제 수정 등 아무것도 되지 않음
확장 ACL
- 특정 사용자에게 특별권한을 주는것
소프트웨어 관리
Linux Software 관리
- 운영체제를 설치할 때 초기에 설치되는 기본 프로그램 외 관리자나 사용자가 추가로 필요한 소프트웨어를 설치 할 필요가 있음
- 필요에 따라 소프트웨어 설치 관리 및 제거
- 사용자가 소프트웨어를 설치하고 관리할 수 있게 도와주는 프로그램 및 설치방법이 다양함
Redhat 계열 Linux
- RPM(Redhat Package Manager)
- 패키지 배포 및 관리 프로그램
- 사용자가 미리 확보한 패키지 파일(.rpm)을 이용하여 원하는 프로그램을 설치하는 방식
-장점
- 패키지의 설치 및 제거가 편리함
- 패키지의 업그레이드가 편리함
- source code compile 방법 보다 설치 속도가 빠름
- 설치할 패키지를 검증할 수 있음
- 질의를 통해 패키지의 자세한 정보 확인이 가능함
-단점
- 사용자가 직접 필요한 패키지를 확보해야함
>rpm 서버, 설치CD등을통해확보함
- 사용자가 직접 의존성을 해결해야 함
https://rpmfind.net/linux/RPM/
rpm 사용법
# rpm -q[옵션]
# rpm -qi = 패키지 정보확인
OPTION(패키지 정보 확인)
-a 모든 패키지에 대한 질의
rpm 사용법(패키지 업데이트)
# rpm -U[옵션] rpg 패키지 이름
-Uvh = 설치 할때 쓰는 옵션
rpm 사용법(패키지 삭제)
#rpm -e rpm패키지 이름
- 옵션명령어가 없음
- dnf, yum
dnf
- Redhat 계열의 Linux에서 사용하던 yum 패키지 관리도구를 개선하고 대체하기 위해 개발됨
- 속도향상, 오류 처리등의 기능이 향상 되었으며, 사용 방법은 기존의 yum과 유사함
- 현재Rocky Linux 9 에는 두 관리 도구 모두 사용 가능하며, 추후 yum 지원 종료를 대비하여 dnf 사용을권장함
장점
- rpm의 의존성 문제를 해결함
- 패키지를 별도로 확보할 필요가 없음
- 자동화 되어있는 설치 및 삭제를 지원
- update된 패키지를 검사하여 최신 패키지를 설치함
단점
- 네트워크 연결이 반드시 필요함(FQDN으로 인터넷 연결이 되어야함)
- repository에서 서비스를 중단하면 서비스를 받을 수 없음
- 불 필요한 패키지가 설치될 가능성이 있음
사용법
# dnf [옵션] [mode] [패키지 이름]
다운로드 예시) # dnf -y install 패키지 이름
OPTIONS
-y = 설치 여부를 확인하지 않고 바로 설치
MODE
install = 패키지 설치
check-update = 설치된 패키지 중 업데이트가 가능한 항목을 확인 함
upgrade = 패키지 업데이트
remove = 패키지 삭제
info = 패키지 정보 확인
- source code compile (옛날에 쓰임)
- 컴파일러가 반드시 필요함
Debian 계열 Linux
- DEB(Debian Package)
- apt
- source code compile
rpm으로 제공되지않는프로그램을설치해야할때사용함
- 일반적으로 소스 코드 내부에 주석으로 설치 방법이 명시 되어 있거나, readme 또는install 이라는 파일을 통해 설치 방법을 제공함
- 컴파일러가반드시필요함
- C 컴파일러(gcc 패키지), C++ 컴파일러(gcc=c++ 패키지)
장점
- 설치가 진행 될때 전체 과정을 제어하며 세부 환경설정 및 설치 경로 지정이 가능함
단점
- 컴파일 환경을 미리 준비 해야함
- 정확한 방법을 숙지하지 않으면 설치 시 에러가 많이 발생함
- 설치 및 관리 시간이 오래 걸림
- 검증 되지 않은 불법 소프트웨어가 설치될 가능성이 있음
1. /configure => ~ C => 2번 ~.exe
2. make => ~.exe
3. make install => ~.exe
dnf repository(저장소) 관리
- 레포지터리(저장소) 파일 경로
yum의 대체인 dnf는 호환성을 유지하며 yum의 구성을 그대로 사용할 수 있도록 같은 경로를 사용함
/etc/yum.repos.d/rocky.repo
- 관리 항목
mirrolist : 패키지가 설치된 사이트들의 주소 리스트가 있는 사이트주소
#baseurl : 실제 패키지가 설치된 사이트 주소
- mirror list 정보 확인
https://mirrors.rockylinux.org/mirrormanager/mirrors/Rocky/[버전]/x86_64
=======
'공부? > 국비 지원 일기장' 카테고리의 다른 글
41일차 - 디스크 관리 (2) | 2024.09.02 |
---|---|
40일차 - vi editor (0) | 2024.09.01 |
38일차 - 리눅스 명령어, ch (5) | 2024.08.28 |
37일차 - 리눅스 명령어 , 암호화 (0) | 2024.08.27 |
36일차 - 여러 리눅스 운영체제들과 이해, 명령어 (1) | 2024.08.26 |