리눅스 유저, 그룹 관리

지정온·2023년 9월 21일
0

리눅스 유저, 그룹 관리

  • 사용자 계정 생성 및 삭제
    • 계정확인 ls -lh /home, sudo cat /etc/passwd
    • 계정 생성 및 비밀번호 부여 sudo adduser (ID)
      useradd vs adduser > adduser
    • 계정 삭제 userdel -r (ID) : 계정관련 모든 것 삭제
      r없이 제거하면 /home의 user1는 남아있음
    • root로 변경 : su - su option
  • 사용자 패스워드 설정
    • 비밀번호 변경 for sudo sudo passwd
    • 비밀번호 변경 in root passwd (user name)
    • 비밀번호 변경 in name passwd -> 바로 위에 방식이 더 좋은 듯
    • 비밀번호 관련 설정 보기 /etc/shadow
  • 사용자 그룹 관리, 폴더 사용
    • 그룹 생성 groupadd (group name)
    • 그룹 확인 cat /etc/group
    • 그룹 비밀번호 생성 : 그룹생성후 gpasswd (group name)
    • 그룹 삭제 groupdel (group name)
    • 그룹 암호 /etc/gshadow
    • 그룹에 사용자 추가, 삭제
      추가 : groupmems -g (group name) -a (name), gpasswd (group name) -a (name)
      삭제 : groupmems -g (group name) -d (name), gpasswd (group name) -d (name)
    • 그룹 권한으로 파일 접근 확인하기
    • 그룹에 속하지 않은 계정의 접근 허용 newgrp (name) > 비밀번호가 설정된 그룹이어야함

Mission

1. sudo를 사용할 때 특정명령어만 사용할 수 있도록!

sudo vim /etc/sudoers (readonly를 read write로)
sudo chmod 740 /etc/sudoers
> %user1 ALL=(ALL) /bin/ls /bin/cat (특정명령어만 사용하기)
user1@ip-172-31-19-11:/home/ubuntu$ sudo /bin/ls
[sudo] password for user1:
command.txt  grouptest 
user1@ip-172-31-19-11:/home/ubuntu$ sudo pwd
Sorry, user user1 is not allowed to execute '/usr/bin/pwd' as root on ip-172-31-19-11.ap-east-1.compute.internal.

2. 그룹전체 혹은 계정하나만 sudo 패스워드 없이

> %person ALL=(ALL:ALL) NOPASSWD: ALL (person그룹은 비밀번호 없이! > person5는 sudo를 사용할 수가 없음!)
> user1@ip-172-31-19-11:/home/ubuntu$ sudo pwd
/home/ubuntu
> user5@ip-172-31-19-11:/home/ubuntu$ sudo vim /etc/sudoers
[sudo] password for user5:
user5 is not in the sudoers file.  This incident will be reported.
-- 여기는 권한이 없어서 이런 문구가 나옴 권한을 주고 실행하면 실행이 됨 --
%user5 ALL=(ALL:ALL) ALL
user5@ip-172-31-19-11:/home/ubuntu$ sudo pwd
[sudo] password for user5:
/home/ubuntu

Hint : sudo visudo > 문법 체크해줌!, sudo vim /etc/sudoers
ALL=(ALL:ALL) ALL
sudoers 작성예시

  • sudo susudo su - 차이 > sudo su -가 환경분리되어 문제 방지!
sudo su:
sudo su 명령어를 사용하면 루트 사용자로 스위치하게 됩니다.
즉, 현재 사용자의 환경 변수 및 환경 설정은 그대로 유지됩니다.
환경 변수는 원래 사용자와 같은 상태로 유지되므로 사용자의 홈 디렉토리나 환경 설정 파일도 변경되지 않습니다.
이 모드에서는 기존 사용자의 환경 설정과 경로가 그대로 유지되므로 예기치 않은 문제가 발생할 수 있습니다.
sudo su -:
sudo su - 명령어를 사용하면 루트 사용자로 스위치하게 되며, 새로운 셸이 시작됩니다.
따라서 루트 사용자로 스위치할 때 루트 사용자의 환경 변수 및 환경 설정을 사용하게 됩니다.
환경 변수 및 환경 설정은 새로운 셸에서 초기화되므로, 원래 사용자와 완전히 분리됩니다. 
이것은 보안상 더 좋은 방법이며, 예기치 않은 문제를 방지합니다.
일반적으로 보안 및 시스템 유지보수 관점에서 sudo su -를 사용하는 것이 권장됩니다.
이를 통해 루트 권한을 획득할 때 완전히 분리된 환경에서 작업할 수 있으며,
예기치 않은 환경 변수 설정으로 인한 문제를 방지할 수 있습니다.


다음과 같이 su - test로 접속시 경로가 변경된 것을 확인 할 수 있다.

profile
가보쟈고

0개의 댓글