리눅스를 사용하는 이유 중 하나는 고성능을 위해서이고 두 번째도 고성능을 위해서이다.
관련된 작업을 알아보자
1. 사용자 관리
2. 네트워크 관리
사용자 관리
사용자 생성
1. adduser
adduser newuser1 => newuser1 이라는 사용자 생성
생성할 때 입력하는 필드들이 몇가지 있다.
1. 암호
2. 이름
3. 룸 번호
4. 직장 번호
5. 집 번호
6. 기타
등..이 있다.
adduser --uid 1111 newuser2 => 사용자를 생성하면서 id를 1111로 정한다.
adduser --gid 1000 newuser3 => 사용자를 생성하면 그룹id가 1000인 그룹에 포함시킨다.
adduser --home /newhome newuser4 => 사용자를 생성하면서 홈 디렉터리를 /newhome 으로 지정
adduser --shell /bin/csh newuser5 => 사용자를 생성하면서 기본 셀을 /bin/csh로 지정
사용자 비밀번호 변경
2. passwd
passwd newuser1 => 사용자 newuser1의 암호를 변경 또는 지정한다.
사용자의 속성 변경
3. usermod
usermod --shell /bin/csh/ newuser1 => newuser1의 기본 셀 속성 변경
usermod --groups ubuntu newuser1 => newuser1의 보조 그룹에 ubuntu 그룹을 추가함
사용자 삭제
4. userdel
userdel newuser2 => newuser2 제거
userdel -r newuser3 => newuser3를 제거하면서 홈 디렉터리도 삭제(대부분 이렇게 쓸 듯)
사용자 암호 주기적 변경
5. chage(CHange AGE)
chage -l newuser1 => newuser1에 설정된 것을 확인
chage -m 2 newuser1 => newuser1에 설정한 암호를 사용해야하는 최소 일( 최소 2일 동안 설정한 암호를 써야함)
chage -M 30 newuser1 => 이와 반대로 최대 30일까지만 암호를 쓸 수 있음(30일 되기 전에 변경 필요)
chage -E 2026/01/01 newuser1 => newuser1의 암호가 만료되는 날짜
chage -W 10 newuser1 => 암호가 만료되기 10일 전부터 메세지를 출력(default 7d)
사용자가 속한 그룹
6. groups
groups => 현재 사용자의 그룹
groups newuser1 => newuser1의 그룹
그룹 생성
7. groupadd
groupadd newgroup1 => 새로운 그룹 추가
groupadd --gid 2222 newgroup2 => newgroup2를 gid 2222로 추가
그룹 속성 변경
8. groupmod
groupmod --new-name mygroup1 newgroup1 => newgroup1의 이름을 mygroup1로 바꿈
그룹 제거
9. groupdel
groupdel newgroup2 => newgroup2 삭제
그룹 암호 설정, 관리
10. gpasswd
gpasswd mygroup1 => 그룹 암호 지정
gpasswd -A newuser1 mygroup1 => mygroup1의 newuser1을 Admin으로 지정
gpasswd -a newuser4 mygroup1 => 사용자로 그룹에 추가
gpasswd -d newuser2 mygroup2 => 사용자 그룹에서 제거
네트워크 관리
명령어도 많고 알아야 할 것들이 많다.
IP의 경우 이미 지정된 것들이 몇가지 있다.
xxx.xxx.xxx.255인 경우 broadcast 전용 ip로 연결되어 있는 내부 네트워크 전부에게 보낼 때 사용한다.
127.0.0.1은 로컬 (자기 자신)을 가리키는 IP를 뜻한다.
주로 명령어는 nm-connection-editor 또는 nmtui를 이용한다.
nm은 Network Manager를 뜻하며
nmtui는 Network Manager Text User Interface를 뜻한다.
네트워크 설정에서 자주 만지는 것들은
1. 자동 IP 주소, 고정 IP 주소 사용 결정
2. IP 주소, 서브넷 마스크, 게이트웨이 정보 입력
3. DNS 정보 입력
4. 네트워크 카드 드라이버 설정
5. 네트워크 장치 설정
등이 있다.
네트워크 설정 후 시스템 적용
1. systemcl {start/stop/restart/status} networking
start, stop 등 골라서 쓰면 된다.
즉, 네트워크 설정을 변경시켰으면 systemctl restart NetworkManager 명령을 실행시켜야 시스템에 적용된다고 생각하자.
ip 환경 정보
2. ipconfig {name}
해당 장치에 대한 configuration을 출력한다.
DNS 서버의 작동 테스트
3. nslookup
핑 테스트
4. ping {domainName, IP address}
해당 네트워크에 연결이 되어있는지 테스트할 수 있는 간단한 명령어다.
네트워크 설정이 저장되어 있는 파일은
/etc/NetworkManager/system-connections/...이나
/etc/netplan/*.yaml 파일에 있다.
OS마다 다르다. 에디터로 직접 편집할 수 있지만 interface를 거치는 것을 권장한다고 해서 그게 낫겠다.
또한 DNS 정보는
/etc/resolv.conf 에 있으므로 도메인으로 검색이 되지 않을 때 참고하면 되겠다.
=> 임시 파일이므로 영구적으로 바꾸려면 역시 /etc/netplan/*.yaml 에서 수정해야 한다.
/etc/hosts 는 현재 컴퓨터의 호스트 이름과 FQDN (Fully Qualified Domain Name)이 저장되어 있다.
'SRE > Linux Basics' 카테고리의 다른 글
cut, 문자열 자르기 (0) | 2022.12.02 |
---|---|
Linux 환경에서 init을 대신한 프로세스, systemd (0) | 2022.11.18 |
Linux에서 세션을 종료해도 Process를 Running 하는 법, Daemonize (2) | 2022.10.25 |
Linux Command, 리눅스 명령어 사전(추가 중) (0) | 2022.09.01 |
배경지식 (0) | 2022.09.01 |