사용자 및 그룹 관리

날아올라돼지야·2024년 8월 31일

안녕하세요! 오늘은 우분투(Ubuntu)에서 사용자 및 그룹 관리에 대해 강의식으로 차근차근 배워보겠습니다. 리눅스 시스템에서 사용자와 그룹을 관리하는 것은 시스템 보안을 유지하고, 여러 사용자가 시스템을 효율적으로 사용할 수 있도록 돕는 매우 중요한 작업입니다. 이번 강의에서는 기본적인 사용자 및 그룹 관리 명령어부터 고급 설정까지 모두 다룰 것입니다.


1. 사용자와 그룹의 개념 이해하기

1.1 사용자(User)

  • 설명: 리눅스 시스템에서 사용자(User)는 시스템에 접근할 수 있는 개인 또는 계정을 의미합니다. 각 사용자는 고유한 사용자 이름과 암호를 가지며, 시스템 자원에 접근할 권한이 있습니다.

1.2 그룹(Group)

  • 설명: 그룹은 사용자의 모음으로, 그룹에 속한 모든 사용자에게 동일한 권한을 부여하는 데 사용됩니다. 예를 들어, 특정 파일이나 디렉토리에 대해 그룹 권한을 설정하면, 해당 그룹의 모든 사용자가 동일한 접근 권한을 가지게 됩니다.

2. 사용자 관리

2.1 새로운 사용자 생성

명령어: adduser

  • 설명: adduser 명령어는 새로운 사용자를 생성하고, 사용자 홈 디렉토리와 기본 설정 파일을 자동으로 설정해줍니다.
  • 기본 형식:
    sudo adduser 사용자이름

실습 예제:

sudo adduser john
  • 과정 설명:
    • 이 명령어를 실행하면, john이라는 사용자가 생성됩니다.
    • 시스템은 새로운 사용자의 비밀번호를 입력하라고 요청합니다.
    • 이후, 사용자의 이름, 전화번호 등의 추가 정보를 입력할 수 있습니다. 이 정보는 선택사항입니다.

2.2 사용자 정보 수정

명령어: usermod

  • 설명: usermod 명령어는 기존 사용자 계정을 수정할 때 사용됩니다.
  • 기본 형식:
    sudo usermod [옵션] 사용자이름

실습 예제:

  1. 사용자 이름 변경:
    sudo usermod -l new_john john
    • 설명: john의 사용자 이름을 new_john으로 변경합니다.
  2. 사용자 홈 디렉토리 변경:
    sudo usermod -d /new_home/john john
    • 설명: john의 홈 디렉토리를 /new_home/john으로 변경합니다.

2.3 사용자 비밀번호 변경

명령어: passwd

  • 설명: passwd 명령어는 사용자의 비밀번호를 변경하는 데 사용됩니다.
  • 기본 형식:
    sudo passwd 사용자이름

실습 예제:

sudo passwd john
  • 과정 설명:
    • 시스템이 john 사용자의 새로운 비밀번호를 입력하라고 요청합니다.
    • 비밀번호를 입력하고 다시 한 번 입력하여 확인하면, 비밀번호가 변경됩니다.

2.4 사용자 삭제

명령어: deluser

  • 설명: deluser 명령어는 사용자를 시스템에서 삭제하는 데 사용됩니다. 이 명령어는 사용자의 홈 디렉토리와 메일 스풀 파일을 삭제하지 않습니다.
  • 기본 형식:
    sudo deluser 사용자이름

실습 예제:

sudo deluser john
  • 과정 설명:
    • 이 명령어를 실행하면 john 사용자가 삭제됩니다.
    • 사용자의 홈 디렉토리와 메일 스풀 파일을 함께 삭제하려면 --remove-home 옵션을 사용합니다:
      sudo deluser --remove-home john

2.5 사용자 홈 디렉토리 관리

설명:

사용자가 생성될 때, 홈 디렉토리(예: /home/john)가 자동으로 생성됩니다. 홈 디렉토리는 사용자의 개인 파일과 설정을 저장하는 공간입니다. 홈 디렉토리를 관리하는 것은 사용자의 데이터 보호와 관련이 있습니다.

실습 예제:

  • 사용자의 홈 디렉토리 접근:

    cd /home/john
    • 설명: 이 명령어를 사용하여 john의 홈 디렉토리로 이동할 수 있습니다.
  • 홈 디렉토리의 파일 확인:

    ls -la /home/john
    • 설명: 이 명령어를 사용하여 홈 디렉토리의 숨김 파일을 포함한 모든 파일을 확인할 수 있습니다.

3. 그룹 관리

3.1 새로운 그룹 생성

명령어: addgroup

  • 설명: addgroup 명령어는 새로운 그룹을 생성할 때 사용됩니다.
  • 기본 형식:
    sudo addgroup 그룹이름

실습 예제:

sudo addgroup developers
  • 과정 설명:
    • 이 명령어를 실행하면 developers라는 이름의 새로운 그룹이 생성됩니다.

3.2 기존 그룹에 사용자 추가

명령어: usermod -aG

  • 설명: 특정 사용자를 기존 그룹에 추가할 수 있습니다. -aG 옵션은 사용자를 여러 그룹에 추가할 때 사용됩니다.
  • 기본 형식:
    sudo usermod -aG 그룹이름 사용자이름

실습 예제:

sudo usermod -aG developers john
  • 과정 설명:
    • 이 명령어를 실행하면 john 사용자가 developers 그룹에 추가됩니다.

3.3 그룹 삭제

명령어: delgroup

  • 설명: delgroup 명령어는 그룹을 삭제할 때 사용됩니다.
  • 기본 형식:
    sudo delgroup 그룹이름

실습 예제:

sudo delgroup developers
  • 과정 설명:
    • 이 명령어를 실행하면 developers 그룹이 삭제됩니다.

3.4 사용자 그룹 확인

명령어: groups

  • 설명: 특정 사용자가 속한 그룹을 확인할 수 있습니다.
  • 기본 형식:
    groups 사용자이름

실습 예제:

groups john
  • 과정 설명:
    • 이 명령어를 실행하면 john 사용자가 속한 그룹 목록이 출력됩니다.

3.5 기본 그룹 변경

명령어: usermod -g

  • 설명: 특정 사용자의 기본 그룹을 변경할 수 있습니다.
  • 기본 형식:
    sudo usermod -g 그룹이름 사용자이름

실습 예제:

sudo usermod -g developers john
  • 과정 설명:
    • 이 명령어를 실행하면 john 사용자의 기본 그룹이 developers로 변경됩니다.

4. 파일 및 디렉토리 권한 관리

4.1 파일 및 디렉토리 소유권 변경

명령어: chown

  • 설명: chown 명령어는 파일이나 디렉토리의 소유자와 그룹을 변경할 때 사용됩니다.
  • 기본 형식:
    sudo chown 사용자이름:그룹이름 파일명

실습 예제:

sudo chown john:developers /home/john/example.txt
  • 과정 설명:
    • 이 명령어를 실행하면 /home/john/example.txt 파일의 소유자가 john으로, 그룹이 developers로 변경됩니다.

4.2 파일 및 디렉토리 권한 변경

명령어: chmod

  • 설명: chmod 명령어는 파일이나 디렉토리의 권한을 변경할 때 사용됩니다.
  • 기본 형식:
    sudo chmod 권한 파일명

실습 예제:

  1. 읽기, 쓰기 권한 부여:
    sudo chmod 664 /home/john/example.txt
    • 설명: 이 명령어는 example.txt 파일에 읽기 및 쓰기 권한을 소유자와 그룹에 부여하고, 다른 사용자에게는 읽기 권한만 부여합니다.
    • 664는 소유자와 그룹에 읽기와 쓰기 권한(6)을 부여하고

, 다른 사용자에게는 읽기 권한(4)을 부여하는 것입니다.

  1. 실행 권한 부여:
    sudo chmod +x /home/john/script.sh
    • 설명: 이 명령어는 script.sh 파일에 실행 권한을 부여합니다.

5. 고급 사용자 및 그룹 관리

5.1 관리자 권한 부여

명령어: usermod -aG sudo

  • 설명: 특정 사용자에게 관리자 권한을 부여할 수 있습니다.
  • 기본 형식:
    sudo usermod -aG sudo 사용자이름

실습 예제:

sudo usermod -aG sudo john
  • 과정 설명:
    • 이 명령어를 실행하면 john 사용자에게 관리자 권한이 부여됩니다.
    • 이제 johnsudo 명령어를 사용하여 시스템 관리 작업을 수행할 수 있습니다.

5.2 잠긴 사용자 계정 잠금 해제

명령어: passwd -u

  • 설명: 계정이 잠긴 사용자를 잠금 해제할 수 있습니다.
  • 기본 형식:
    sudo passwd -u 사용자이름

실습 예제:

sudo passwd -u john
  • 과정 설명:
    • 이 명령어를 실행하면 john 사용자의 잠긴 계정이 잠금 해제됩니다.

5.3 사용자 만료일 설정

명령어: chage

  • 설명: 특정 사용자 계정의 만료일을 설정할 수 있습니다.
  • 기본 형식:
    sudo chage -E YYYY-MM-DD 사용자이름

실습 예제:

sudo chage -E 2024-12-31 john
  • 과정 설명:
    • 이 명령어를 실행하면 john 사용자의 계정 만료일이 2024년 12월 31일로 설정됩니다.

5.4 사용자의 로그인 셸 변경

명령어: chsh

  • 설명: 특정 사용자의 기본 셸을 변경할 수 있습니다.
  • 기본 형식:
    sudo chsh -s /bin/bash 사용자이름

실습 예제:

sudo chsh -s /bin/zsh john
  • 과정 설명:
    • 이 명령어를 실행하면 john 사용자의 로그인 셸이 zsh로 변경됩니다.

이 강의를 통해 우분투에서 사용자와 그룹을 관리하는 방법을 배웠습니다. 사용자를 생성하고, 수정하고, 삭제하는 기본 작업부터, 그룹 관리 및 고급 설정까지 다양한 내용을 다루었습니다.

사용자와 그룹 관리는 시스템 보안과 효율적인 자원 관리를 위해 필수적입니다. 실습을 통해 명령어에 익숙해지고, 실제 상황에서 적용해 보세요.


QnA

1) 사용자 그룹으로 사용자를 묶는 주요 이유가 뭔가요?

사용자를 그룹으로 묶는 주요 이유는 권한 관리효율적인 자원 접근 관리입니다.

  • 권한 관리: 그룹을 통해 여러 사용자에게 동일한 권한을 부여할 수 있습니다. 예를 들어, 개발자 그룹에 속한 모든 사용자에게 특정 디렉토리에 읽기/쓰기 권한을 부여하면, 그 그룹의 모든 사용자가 그 디렉토리에 접근할 수 있게 됩니다. 이를 통해 개별 사용자에게 각각 권한을 설정하는 번거로움을 줄일 수 있습니다.

  • 효율적인 관리: 사용자를 그룹으로 묶으면, 그룹 단위로 파일이나 디렉토리의 권한을 설정할 수 있어 관리가 쉬워집니다. 예를 들어, 회사에서 특정 프로젝트 팀만 접근할 수 있는 파일이 있을 때, 해당 팀을 그룹으로 묶고 그 그룹에만 접근 권한을 부여하면 됩니다.


2) 사용자 그룹 안에 사용자가 있는 상태에서 그룹을 삭제하면 기존에 사용자는 어떻게 되나요?

그룹을 삭제하면 그 그룹에 속한 사용자들은 더 이상 그 그룹의 멤버가 아닙니다.

  • 사용자 계정: 그룹이 삭제되어도 사용자의 계정은 그대로 남아 있습니다. 단, 해당 그룹이 삭제되면서 그룹과 관련된 권한을 상실하게 됩니다. 예를 들어, 삭제된 그룹이 특정 파일에 접근 권한을 가지고 있었다면, 그 그룹에 속했던 사용자들은 더 이상 그 파일에 접근할 수 없습니다.

  • 주 그룹: 사용자가 삭제된 그룹을 기본 그룹으로 사용하고 있었다면, 그 사용자에게 문제가 발생할 수 있습니다. 기본 그룹이 삭제되면, 사용자의 기본 그룹을 새로 지정해 주어야 합니다.


3) 권한이란게 정확히 뭐죠? 왜 파일이나 디렉터리마다 사용자별로 권한을 적용하는거죠?

권한(Permissions)은 파일이나 디렉토리에 대해 사용자가 어떤 작업을 할 수 있는지를 정의하는 규칙입니다. 리눅스에서는 파일과 디렉토리에 대해 읽기(Read), 쓰기(Write), 실행(Execute) 권한을 부여할 수 있습니다.

  • 읽기 권한: 파일의 내용을 볼 수 있게 해줍니다. 디렉토리의 경우, 그 안에 있는 파일 목록을 볼 수 있습니다.
  • 쓰기 권한: 파일을 수정하거나 삭제할 수 있게 해줍니다. 디렉토리의 경우, 그 안에 파일을 생성, 삭제, 또는 이름을 변경할 수 있습니다.
  • 실행 권한: 파일을 실행할 수 있게 해줍니다. 예를 들어, 스크립트나 프로그램을 실행하는 권한입니다. 디렉토리의 경우, 그 디렉토리로 이동할 수 있습니다.

왜 권한을 적용하는가?

  • 보안: 특정 사용자나 그룹에게만 파일이나 디렉토리에 접근할 수 있는 권한을 부여하여 데이터를 보호합니다. 이를 통해 중요한 파일이 불필요하게 수정되거나 삭제되는 것을 방지할 수 있습니다.
  • 데이터 무결성: 권한을 통해 특정 파일이나 디렉토리에 접근할 수 있는 사용자를 제한함으로써 데이터의 무결성을 유지할 수 있습니다. 예를 들어, 중요한 설정 파일은 관리자만 수정할 수 있도록 권한을 설정할 수 있습니다.

4) 파일 소유권이 왜 필요하죠? 그리고 왜 사용하는건가요?

파일 소유권(Ownership)은 파일이나 디렉토리의 책임을 가진 사용자와 그룹을 정의합니다. 리눅스에서 파일은 항상 소유자(User)와 소유 그룹(Group)을 가지며, 소유자는 해당 파일이나 디렉토리에 대한 기본적인 권한을 가지고 있습니다.

왜 필요한가?

  • 책임 소재: 소유권을 통해 특정 파일이나 디렉토리가 누구에게 속해 있는지 명확히 할 수 있습니다. 파일의 소유자는 그 파일에 대한 수정, 삭제, 접근 권한을 기본적으로 가집니다.

  • 보안 관리: 소유권을 통해 권한을 효과적으로 관리할 수 있습니다. 예를 들어, 파일의 소유자만이 파일을 수정할 수 있게 설정하면, 다른 사용자가 그 파일을 수정할 수 없게 됩니다.

  • 공유 자원 관리: 특정 그룹에 속한 사용자들만이 파일을 공유하고 수정할 수 있도록 소유 그룹을 설정할 수 있습니다. 이를 통해 팀 내에서 자원을 효율적으로 공유할 수 있습니다.


5) sudo가 대체 뭐죠? 매번 sudo 명령을 써야할 때가 많은데 귀찮습니다

sudo(Superuser DO)는 리눅스에서 관리자 권한을 일시적으로 사용할 수 있게 해주는 명령어입니다. sudo 명령어를 사용하면 일반 사용자가 특정 명령을 실행할 때 일시적으로 root 권한을 얻어 시스템을 관리할 수 있습니다.

왜 사용하나요?

  • 보안: 리눅스 시스템에서 모든 사용자가 무제한으로 시스템을 변경할 수 있는 것은 보안상 위험할 수 있습니다. sudo를 통해 필요한 순간에만 관리자 권한을 사용하도록 제한할 수 있습니다.
  • 제한된 권한: sudo는 사용자가 어떤 명령을 실행했는지 로그로 남기며, 특정 명령에 대해서만 관리자 권한을 부여할 수 있어 시스템 보안을 강화합니다.

귀찮은 점 해결 방법:

  • 명령어 앞에 일일이 sudo를 붙이는 것이 번거로울 때는, 터미널에서 한 번에 관리자 권한을 얻을 수 있는 sudo -i 명령을 사용할 수 있습니다. 이렇게 하면, 현재 터미널 세션이 root 계정으로 전환되어 이후의 모든 명령을 관리자 권한으로 실행할 수 있습니다. 하지만 주의해야 할 점은, 이렇게 하면 시스템에 변경을 가할 수 있는 권한이 지속적으로 유지되기 때문에, 실수로 중요한 시스템 파일을 변경하거나 삭제하는 일이 없도록 조심해야 합니다.

6) root 사용자는 리눅스에서 한 계정만 가지고 있는거야? root가 sudo 인가요?

root 사용자는 리눅스에서 가장 높은 권한을 가진 최고 관리자 계정입니다. 이 계정은 시스템의 모든 파일에 접근하고, 모든 작업을 수행할 수 있는 권한을 가집니다.

  • root 계정과 sudo의 차이:

    • root: 시스템의 모든 것에 대해 무제한의 접근 권한을 가진 계정입니다. 일반적으로 root로 로그인하지 않고, 필요할 때만 권한을 얻어 작업하는 것이 보안상 더 안전합니다.
    • sudo: 일반 사용자가 일시적으로 root 권한을 사용할 수 있게 해주는 명령어입니다. root 계정과 달리, sudo는 일반 사용자에게 제한된 시간 동안 관리자 권한을 부여하는 역할을 합니다.
  • root 사용자는 한 계정만 가지고 있는가?

    • 일반적으로 root 사용자는 시스템에 하나만 존재합니다. 하지만 다른 사용자 계정에 sudo 권한을 부여하여 필요한 경우 root 권한을 사용할 수 있게 할 수 있습니다.
  • sudo가 root인가?

    • sudo 자체는 root 계정이 아닙니다. sudo는 root 권한을 사용할 수 있게 해주는 도구입니다. 즉, sudo를 사용하여 명령을 실행하면, 그 명령은 root 권한으로 실행되지만, 실제로는 root 계정으로 로그인한 것이 아닙니다.

7) 기본적으로 그룹을 지정하지 않고 사용자를 생성하면 해당 사용자는 어느 그룹에 소속되나요?

리눅스에서 사용자를 생성할 때 그룹을 명시적으로 지정하지 않으면, 시스템은 자동으로 사용자와 동일한 이름을 가진 기본 그룹을 생성하고, 그 그룹에 사용자를 소속시킵니다.

  • 예를 들어, john이라는 사용자를 생성하면, 시스템은 john이라는 그룹을 생성하고, john 사용자를 그 그룹에 속하게 합니다.
  • 이 그룹을 기본 그룹(primary group)이라고 하며, 해당 사용자가 파일을 생성하거나 작업을 수행할 때 기본적으로 이 그룹이 사용됩니다.

8) 특정 사용자에게 sudo 명령을 아예 제한할 수도 있나요?

네, 특정 사용자에게 sudo 명령을 제한할 수 있습니다. 이를 관리하는 파일은 /etc/sudoers 파일입니다. 이 파일을 편집하여 특정 사용자가 sudo 명령을 사용할 수 없도록 설정할 수 있습니다.

방법 1: /etc/sudoers 파일 수정

  1. /etc/sudoers 파일을 편집하기 전에, 터미널에서 visudo 명령을 사용하여 파일을 엽니다. 이 명령은 구문 오류를 방지하기 위한 검사를 수행합니다.

    sudo visudo
  2. 파일에서 해당 사용자가 sudo 권한을 가지지 않도록 설정합니다. 예를 들어, john 사용자가 sudo 명령을 사용하지 못하게 하려면 다음과 같이 설정할 수 있습니다:

    john    ALL=(ALL:ALL) !ALL
    • 이 설정은 john 사용자가 어떤 sudo 명령도 실행하지 못하게 합니다.

방법 2: 사용자 그룹에서 제거

sudo 명령을 사용할 수 있도록 설정된 그룹에서 해당 사용자를 제거하는 방법도 있습니다. 기본적으로 sudo 권한은 sudo 그룹에 속한 사용자에게 부여됩니다.

  1. 사용자를 sudo 그룹에서 제거합니다:

    sudo deluser john sudo
    • 이 명령을 실행하면 john 사용자가 sudo 그룹에서 제거되어 sudo 권한을 사용할 수 없게 됩니다.

9) ssh를 통해 접속할 때 계정과 비밀번호를 통해 접속할 때 사용되는게 사용자 계정 정보인건가요? 예를 들어 사용자 3개가 만들어져 있다면 ssh로도 3개 계정 각각으로 접속할 수 있는건가요?

네, 맞습니다. ssh를 통해 접속할 때 사용되는 계정 정보는 리눅스 시스템에 존재하는 사용자 계정 정보입니다. 만약 시스템에 3개의 사용자 계정(user1, user2, user3)이 존재한다면, 이 3개의 계정을 각각 사용하여 ssh로 접속할 수 있습니다.

SSH 접속 예시:

각각의 사용자 계정으로 ssh를 통해 접속하려면 다음과 같은 명령어를 사용할 수 있습니다:

ssh user1@your_server_ip
ssh user2@your_server_ip
ssh user3@your_server_ip
  • 각각의 명령어를 입력하면 해당 사용자 계정의 비밀번호를 입력하라는 메시지가 나타납니다. 비밀번호를 입력하면 해당 사용자 계정으로 시스템에 접근할 수 있습니다.
  • 따라서, 사용자가 시스템에서 어떤 권한을 가지고 있느냐에 따라, ssh를 통해 접속한 후에 수행할 수 있는 작업이 달라집니다.

10) 동료가 내 리눅스 서버에 원격으로 접속해 서버를 사용하고 싶다고 한다면 내가 어떻게 사용자 계정과 권한 등을 관리해서 동료에게 전달해주는게 좋은 방식일까요?

동료에게 서버 접근을 허용하려면 다음과 같은 절차를 따라 사용자 계정과 권한을 관리하고 제공할 수 있습니다.

1. 새로운 사용자 계정 생성

동료를 위한 새로운 사용자 계정을 생성합니다.

sudo adduser colleague
  • colleague 대신 동료의 이름이나 별명을 사용할 수 있습니다.
  • 시스템은 비밀번호를 설정하라고 요청합니다. 동료가 기억하기 쉬운 비밀번호로 설정하거나, 동료에게 비밀번호를 전달한 후 동료가 직접 변경하도록 할 수 있습니다.

2. 필요한 그룹에 사용자 추가

동료가 서버에서 수행해야 하는 작업에 따라 적절한 그룹에 사용자를 추가합니다.

  • 만약 동료가 일반 사용자로서 작업만 한다면 추가 작업이 필요 없지만, 특별한 권한이 필요하면 해당 그룹에 추가해야 합니다.

  • 예를 들어, sudo 명령을 사용할 수 있도록 하려면 sudo 그룹에 추가합니다:

    sudo usermod -aG sudo colleague

3. SSH 키를 통한 접근 설정 (선택 사항)

비밀번호 대신 SSH 키를 사용하여 보안을 강화할 수 있습니다. 동료가 SSH 키 쌍을 생성하고, 공개 키를 전달하면 서버에 이를 추가할 수 있습니다.

  1. 동료가 SSH 키를 생성:

    ssh-keygen -t rsa
  2. 동료가 생성된 공개 키 (~/.ssh/id_rsa.pub)를 전달하면, 서버의 사용자 홈 디렉토리에 .ssh/authorized_keys 파일에 추가합니다:

    mkdir -p /home/colleague/.ssh
    cat colleague_public_key.pub >> /home/colleague/.ssh/authorized_keys
    chown -R colleague:colleague /home/colleague/.ssh
    chmod 600 /home/colleague/.ssh/authorized_keys

4. 필요한 디렉토리와 파일 접근 권한 설정

동료가 특정 디렉토리나 파일에 접근해야 한다면, 해당 디렉토리나 파일의 소유권과 권한을 설정해야 합니다.

  • 소유권 변경: 특정 디렉토리나 파일을 동료에게 소유권을 이전하거나 그룹 권한을 부여할 수 있습니다.
    sudo chown colleague:colleague /path/to/file_or_directory
  • 권한 설정: 동료가 파일을 읽고 쓸 수 있는 권한을 설정합니다.
    sudo chmod 700 /path/to/directory
    sudo chmod 600 /path/to/file

5. 동료에게 접속 방법과 계정 정보 제공

마지막으로, 동료에게 SSH 접속 방법과 계정 정보를 제공해야 합니다.

  • 접속 명령어: ssh colleague@your_server_ip
  • 만약 비밀번호를 설정했다면, 비밀번호를 전달합니다.
  • SSH 키로 접근하도록 설정한 경우, SSH 키가 필요함을 알립니다.

이 과정을 통해 동료가 서버에 접근할 수 있게 하고, 필요한 권한을 부여하여 동료가 작업을 수행할 수 있도록 합니다. 또한, 서버에 접근하는 모든 사용자와 그들이 가지고 있는 권한을 관리하여 보안을 유지할 수 있습니다.

profile
무슨 생각하며 사니

0개의 댓글