Linux

[Linux] Ubuntu CIFS Mount: CIFS로 네트워크 드라이브 마운트하는 방법(4): Ubuntu에서 CIFS 마운트 자동화 설정하기

JohnnyDeveloper 2024. 8. 23. 14:32

Ubuntu 시스템 부팅 시 CIFS 마운트를 자동으로 설정하는 방법과 관련된 `fstab` 설정을 안내합니다.

Ubuntu에서 CIFS 마운트 자동화 설정하기

CIFS 마운트를 수동으로 실행하는 것 외에도, 시스템이 부팅될 때 자동으로 마운트되도록 설정할 수 있습니다. 이를 위해서는 /etc/fstab 파일을 수정하여 CIFS 마운트를 자동화할 수 있습니다.

1. /etc/fstab 파일 이해하기

/etc/fstab 파일은 시스템이 부팅될 때 자동으로 마운트할 파일 시스템을 정의하는 파일입니다. 여기에는 로컬 및 원격 파일 시스템 모두를 포함할 수 있습니다. CIFS 마운트를 자동화하려면 이 파일에 CIFS 관련 항목을 추가해야 합니다.

2. /etc/fstab에 CIFS 항목 추가

/etc/fstab 파일을 편집하여 다음과 같이 CIFS 마운트 항목을 추가합니다:

sudo nano /etc/fstab

 

그리고 파일 끝에 다음 줄을 추가합니다

//192.168.1.100/shared_name(shared_folder) /srv/shared_folder cifs username=user,password=pass,iocharset=utf8,sec=ntlm 0 0

여기서 각 항목의 의미는 다음과 같습니다:

  • //192.168.1.100/shared_folder: 원격 서버의 CIFS 공유 폴더 이름(Window 에서는 폴더 이름)
  • /srv/shared_folder: 로컬 마운트 지점
  • cifs: 사용되는 파일 시스템 유형
  • username=user,password=pass: 마운트에 사용될 사용자 인증 정보
  • iocharset=utf8,sec=ntlm: 마운트 옵션

3. 보안 고려사항

/etc/fstab에 사용자 이름과 비밀번호를 평문으로 저장하는 것은 보안 위험이 있습니다. 이를 해결하기 위해, 인증 정보를 별도의 파일에 저장하고 그 파일을 참조할 수 있습니다. 예를 들어, /etc/samba/credentials 파일을 생성하고 다음 내용을 포함시킵니다:

username=user
password=pass

그런 다음 /etc/fstab 항목을 다음과 같이 수정합니다:

//192.168.1.100/shared_name /srv/shared_folder cifs credentials=/etc/samba/credentials,iocharset=utf8,sec=ntlm 0 0

이 방식은 인증 정보를 별도의 파일로 관리하므로 보안성을 높일 수 있습니다.

4. 마운트 설정 테스트

/etc/fstab 파일을 수정한 후, 설정이 올바르게 적용되었는지 테스트하기 위해 다음 명령어를 실행합니다

sudo mount -a

이 명령어는 fstab에 정의된 모든 파일 시스템을 마운트합니다. 오류가 발생하지 않으면 설정이 올바르게 적용된 것입니다.

또한, 시스템을 재부팅한 후에도 CIFS 마운트가 자동으로 이루어지는지 확인할 수 있습니다. df -h 명령어를 사용하여 마운트 상태를 다시 한번 점검하세요.

5 . 마운트 실패 시 로그 확인

CIFS 마운트가 실패한 경우, 가장 먼저 확인해야 할 것은 로그 파일입니다. Ubuntu에서는 /var/log/syslog 파일에 시스템 로그가 저장되므로, 이 파일에서 오류 메시지를 확인할 수 있습니다:

sudo tail -f /var/log/syslog

이 명령어를 사용하여 실시간으로 로그를 확인하면서 오류의 원인을 파악할 수 있습니다.

6. 권한 문제 해결

CIFS 마운트 시 파일 및 디렉토리 접근 권한에 문제가 발생할 수 있습니다. 이 경우, uid, gid, 또는 file_mode, dir_mode 옵션을 사용하여 권한을 설정할 수 있습니다:

sudo mount -t cifs -o username=user,password=pass,uid=1000,gid=1000,file_mode=0644,dir_mode=0755 //192.168.1.100/shared_name /srv/shared_folder

이 명령어는 마운트된 파일과 디렉토리에 대한 소유자와 권한을 설정하여 접근 문제를 해결할 수 있습니다.

7. 네트워크 연결 문제 해결

네트워크 상태가 불안정할 경우 CIFS 마운트가 중단되거나 지연될 수 있습니다. 이러한 문제를 해결하려면 다음과 같은 옵션을 고려할 수 있습니다:

  • soft 또는 hard 옵션: 연결 실패 시 재시도를 제어합니다.
  • timeo=n: n초 후에 연결을 재시도합니다.

예를 들어, 다음 명령어는 네트워크 문제가 발생했을 때 연결을 재시도하도록 설정합니다:

sudo mount -t cifs -o username=user,password=pass,soft,timeo=30 //192.168.1.100/shared_name /srv/shared_folder

8. 성능 최적화

CIFS 마운트의 성능을 최적화하려면 캐시 설정이나 프로토콜 버전을 조정할 수 있습니다. 예를 들어, 캐시를 적절히 활용하면 파일 읽기 및 쓰기 성능을 향상시킬 수 있습니다:

sudo mount -t cifs -o username=user,password=pass,cache=loose //192.168.1.100/shared_name /srv/shared_folder

또한, vers=3.0 옵션을 사용하여 최신 SMB 버전을 사용할 수 있습니다.

9. 추가 고려사항

9.1 보안

CIFS 마운트에서 가장 중요한 고려사항 중 하나는 보안입니다. 사용자 이름과 비밀번호를 포함한 인증 정보가 네트워크를 통해 전송되므로, 적절한 보안 조치를 취하는 것이 중요합니다. Samba 설정에서 암호화 및 인증을 강화하거나, VPN을 통해 안전한 네트워크 환경을 구성하는 방법을 고려할 수 있습니다.

9.2 파일 잠금

다수의 사용자가 동일한 파일에 접근하는 환경에서는 파일 잠금 기능이 필수적입니다. Samba 설정에서 파일 잠금 기능을 활성화하여 파일 손상을 방지할 수 있습니다.

 

이제 CIFS 마운트와 관련된 주요 문제를 해결하고 성능을 최적화하는 방법을 이해했습니다. 이를 통해 보다 안정적이고 효율적인 네트워크 드라이브 마운트 환경을 구축할 수 있습니다.