시스템 관리자가 하는 일
카테고리: Linux
태그: Linux
시스템 관리자가 하는 일
시스템 관리자는 리눅스 시스템의 설치, 구성, 운영 및 유지보수를 담당하는 전문가입니다. 시스템 관리자의 주요 역할과 책임은 다음과 같습니다:
-
시스템 설계 및 구성: 리눅스 시스템 관리자는 조직의 요구에 맞게 시스템을 설계하고 구성합니다. 이는 하드웨어 및 네트워크 구성, 운영 체제 설치, 패치 관리 등을 포함합니다.
-
사용자 관리: 시스템 관리자는 사용자 계정을 생성하고 관리합니다. 사용자 권한을 관리하고, 그룹을 관리하며, 사용자의 접근 권한을 설정하고 제한합니다.
-
시스템 모니터링: 리눅스 시스템의 성능과 가용성을 모니터링하고 문제를 식별합니다. 로그 파일 및 모니터링 도구를 사용하여 시스템 리소스 사용량, 네트워크 트래픽, 서비스 상태 등을 추적합니다.
-
보안 관리: 시스템 관리자는 시스템 보안을 유지하고 강화하는 역할을 담당합니다. 악성 코드 및 침입 시도에 대한 감시와 대응, 방화벽 구성, 사용자 권한 관리, 보안 패치 적용 등의 작업을 수행합니다.
-
데이터 백업 및 복구: 시스템 관리자는 중요한 데이터를 보호하기 위해 정기적인 데이터 백업 및 복구 전략을 수립하고 관리합니다. 데이터 손실 시 복구 작업을 수행하여 비즈니스 연속성을 유지합니다.
-
소프트웨어 설치 및 관리: 리눅스 시스템 관리자는 필요한 소프트웨어를 설치하고 관리합니다. 패키지 관리자를 사용하여 소프트웨어 패키지를 설치, 업그레이드, 제거하며, 종속성을 해결합니다.
-
문제 해결: 시스템 관리자는 시스템 문제를 해결하기 위해 분석 및 진단 작업을 수행합니다. 시스템 오류, 네트워크 문제, 서비스 중단 등의 상황에 대응하여 빠르고 효과적으로 문제를 해결합니다.
-
문서화: 시스템 구성, 절차, 정책 등과 관련된 문서를 작성하고 유지합니다. 시스템 구성, 설정 변경, 문제 해결 절차 등에 대한 문서는 참고 자료로 사용되며, 지속적으로 업데이트됩니다.
리눅스 시스템 관리자는 이 외에도 여러 가지 업무를 수행하며, 시스템의 안정성, 가용성, 보안성을 유지하고 최적의 성능을 제공하기 위해 노력합니다. 또한 관련 기술 동향을 지속적으로 연구하고, 최신 도구와 기술을 적용하여 시스템 운영을 개선합니다.
리눅스의 표준 접근 제어 모델
리눅스는 처음부터 다중 사용자가 컴퓨터를 사용하는 환경을 상정하고 디자인되었습니다. 이러한 이유로, 리눅스는 접근 제어에 대한 분명한 원칙이 존재하며, 이를 우리는 “접근 제어 모델”이라고 부릅니다.
- 파일(파일 및 디렉토리)은 소유자(owner)가 있다. 그러나 소유했다고 모든 권한을 갖는 것은 아니다.
- 파일은 생성한 사람이 소유한다.
- 관리자(root)만 할 수 있는 일이 있다.
whoami: 사용자 확인
현재 로그인된 사용자를 확인하는 명령어가 있습니다.
1
2
$ whoami
# 처음 생성한 사용자 ID가 출력됩니다.
홈 디렉토리
사용자는 개별적으로 각자의 홈 디렉토리를 가지고 있습니다. 우분투에서는 /home
, macOS의 경우 /Users
디렉토리에 사용자별로 홈 디렉토리가 존재하는 것을 확인할 수 있습니다. 디렉토리의 이름은 우분투나 macOS를 처음 설치할 때 입력했던 사용자 아이디(username)입니다.
예를 들어, 사용자 pomo
의 홈 디렉토리는 다음과 같은 경로(Path)를 가지게 됩니다.
- 우분투:
/home/pomo
- macOS:
/Users/pomo
Windows에서 사용자 계정 컨트롤을 이용해 사용자를 나누는 것과 마찬가지로, username에 맞게 디렉토리를 생성하여 해당 디렉토리 내에서 권한을 사용하도록 제한합니다. 반면에 관리자(root) 권한을 이용하면, 다른 사용자 디렉토리에도 영향을 끼치는 것은 물론이고, 당연히 시스템 전반에 걸쳐 접근이 가능합니다. 루트 권한으로 변경한 내용은, 사용자 권한으로 해결할 수 없습니다.
- 최상위 디렉토리인 루트 디렉토리는
/
로 표현합니다. - 사용자 디렉토리의 경로는
~
로 표현합니다.- 물결기호(
~
)는 루트 디렉토리(/
)로부터 홈 디렉토리까지의 경로를 축약한 형태입니다.
- 물결기호(
사용자가 새로운 프로그램을 설치하거나 변경 또는 삭제할 때에는, 루트 권한이 필요합니다.
파일 및 디렉토리의 소유자(사용자) 및 그룹
리눅스에서는 사용자뿐 아니라, 여러 사용자를 묶은 ‘그룹’이라는 개념도 함께 존재합니다. 지금 다룰 내용에서 ‘소유자’라는 표현은 파일 및 디렉토리의 관점에서 설명하는 ‘사용자’입니다. 소유자는 파일의 사용 권한을 설정할 수 있습니다.
관리자 권한을 이용해서, 이 시스템엔 어떤 사용자가 있고, 그룹이 있는지 한번 살펴봅시다.
1
$ sudo cat /etc/passwd
명령어
sudo
는 사용자 환경에서, 루트 권한을 획득하는 명령어입니다. 명령어sudo
는 기본적인 CLI 명령어의 앞에 작성하여, 루트 권한을 일시적으로 획득하는 명령어입니다. 명령어sudo
는 한시적으로나마 루트 권한을 가지기 때문에 항상 비밀번호와 함께 사용합니다. 처음 리눅스 계정을 생성할 때 입력한 사용자의 비밀번호를 입력하세요. 비밀번호는 화면에 출력되지 않지만, 터미널에 정상적으로 입력되고 있습니다. 비밀번호를 정확하게 입력하고 Enter(엔터 키)를 눌러 실행시키세요.
출력 결과는 각 필드가 콜론(:
)으로 구분되어 있습니다. 가장 처음 등장하는 필드는 사용자 이름이며, 세 번째에 등장하는 숫자는 uid, 즉 숫자로 표현되는 고유의 user id입니다. 루트 계정의 uid는 항상 0입니다.
1
2
3
4
5
root:x:0:0:root:/root:/bin/bash
ubuntu:x:1000:1000:Ubuntu:/home/ubuntu:/bin/bash
kimcoding:x:1001:1001::/home/kimcoding:/bin/sh
parkhacker:x:1002:1002::/home/parkhacker:/bin/sh
choigosu:x:1003:1003::/home/choigosu:/bin/sh
/etc/passwd
파일은 이름과는 달리 비밀번호를 포함하지 않습니다. 실제로 비밀번호가 저장되어 있는 파일은/etc/shadow
파일이며, 비밀번호 문자열은 암호화되어 있습니다.
터미널 프롬프트에 id
라는 명령을 입력해 보세요. 출력은 uid 및 해당 사용자가 속해있는 그룹을 포함합니다.
1
2
3
4
$ id
uid=1000(ubuntu) gid=1000(ubuntu) groups=1000(ubuntu),4(adm),20(dialout),24(cdrom),25(floppy),27(sudo),29(audio),30(dip),44(video),46(plugdev),118(netdev),119(lxd)
$ id -u ubuntu
1000
댓글남기기