Oracle Cloud Infrastructure (OCI) 인스턴스를 SMB를 통해 접근하려면 계정과 비밀번호가 필요합니다. 이를 위해서는 Samba를 설치하고 설정한 후, Samba 사용자 계정을 생성하고 비밀번호를 설정해야 합니다. 자세한 단계는 다음과 같습니다.
그리고 SMB 프로토콜로 접근하려면 openvpn 등을 이용하여 내부 네트워크망으로 인식되도록 할 필요가 있습니다.
openvpn 에 대해서는 나중에 정리하겠습니다.
SAMBA 설치
sudo apt update
sudo apt install samba
Samba 설정 파일 수정
Samba 설정 파일 /etc/samba/smb.conf
를 편집하여 공유 폴더를 설정합니다. 예를 들어:
[shared]
path = /path/to/shared/folder
valid users = your_username
read only = no
browsable = yes
Samba 사용자 추가 및 비밀번호 설정
Samba 사용자로 추가하고 비밀번호를 설정합니다:
sudo smbpasswd -a your_username
폴더 권한 설정
Samba로 공유할 폴더의 소유자와 권한을 설정합니다:
sudo chown -R your_username:your_username /path/to/shared/folder
sudo chmod -R 755 /path/to/shared/folder
Samba 서비스 시작 및 활성화
Samba 서비스를 시작하고 부팅 시 자동으로 시작되도록 설정합니다:
sudo systemctl start smb
sudo systemctl enable smb
방화벽 설정
SMB 포트(기본적으로 TCP 포트 445와 139)가 열려 있는지 확인합니다. OCI 콘솔에서 보안 목록(Security List) 또는 네트워크 보안 그룹(NSG)을 통해 해당 포트를 열어줍니다.
sudo ufw allow 445/tcp
sudo ufw allow 139/tcp
sudo ufw enable
클라이언트에서 접근
클라이언트 PC에서 SMB를 통해 공유 폴더에 접근할 수 있습니다. 예를 들어, Windows에서는 파일 탐색기에서 \\your_instance_ip\shared
를 입력합니다. 이 때, Samba 사용자 이름과 비밀번호를 입력해야 합니다.
파일 시스템 권한 설정
Samba에서 루트 디렉토리에 접근할 수 있도록 설정하더라도 파일 시스템의 권한이 이를 막을 수 있습니다. your_username
가 루트 디렉토리 및 그 하위 디렉토리에 접근할 수 있도록 하려면 적절한 파일 시스템 권한을 설정해야 합니다.
your_username
에게 루트 디렉토리 접근 권한 부여:
sudo usermod -aG root your_username
루트 디렉토리 및 하위 디렉토리에 접근 권한 설정: 필요에 따라 chown
및 chmod
명령어를 사용하여 디렉토리 및 파일 권한을 조정합니다. 그러나 이 작업은 시스템의 보안을 크게 약화시킬 수 있으므로 매우 신중해야 합니다.
Samba 설정 파일 /etc/samba/smb.conf
를 편집하여 공유 폴더를 설정합니다. 예를 들어:
[shared]
path = /
valid users = your_username
read only = no
browsable = yes
주의사항
- 보안 문제: 루트 디렉토리를 공유하는 것은 심각한 보안 위험을 초래할 수 있습니다. 모든 파일과 디렉토리에 접근할 수 있게 되므로, 시스템의 무결성과 보안을 손상시킬 가능성이 큽니다. 가능하면 이 작업은 피하고, 필요한 특정 디렉토리만 공유하는 것을 권장합니다.
- 대안 고려: 특정 작업을 위해 루트 접근이 필요한 경우, 다른 방법(예: 필요한 파일이나 디렉토리만 공유하거나, 특정 작업을 자동화하기 위한 스크립트 작성)을 고려하는 것이 좋습니다.
이 설정이 완료되면, your_username
사용자는 SMB를 통해 루트 디렉토리에 접근할 수 있게 됩니다. 하지만 이와 같은 설정은 매우 높은 위험을 수반하므로, 꼭 필요한 경우에만 신중하게 적용해야 합니다.
