파일 공유 · 2 min read · Dec 10, 2025
AutoFS를 사용하여 Windows 및 Samba 공유에 액세스하는 방법
Windows 또는 Samba 공유에 AutoFS를 사용하여 액세스하기
당신은 이미 네트워크에 연결된 데스크탑 PC에 리눅스를 설치했으며, 이제 네트워크의 다른 PC에 저장된 파일로 작업하고 싶습니다. 이때 autofs가 필요합니다. 이 튜토리얼은 리눅스 데스크탑 PC에서 Windows 또는 Samba 공유에 액세스하기 위해 CIFS를 사용하도록 autofs를 구성하는 방법을 보여줍니다. 또한 맞춤형 구성 파일도 포함되어 있습니다.
autofs 버전 4.0 이상이 이미 설치되어 있다면, 시스템에서 다음 파일을 찾아야 합니다.
/etc/auto.master그리고
/etc/auto.smb그렇지 않다면, 배포판의 패키지 관리자를 시작하세요 (예: SuSE의 YaST, Debian 또는 Ubuntu의 synaptic 등) 그리고 설치하세요. 설치할 때 Samba 클라이언트 패키지(smbclient)를 설치하는 것도 잊지 마세요. 일부 배포판(Ubuntu)에서는 mount.cifs 및 umount.cifs 유틸리티가 포함된 smbfs 패키지도 필요합니다.
구성
autofs가 이미 설치되어 있다면, 아마도 아직 구성되지 않았고 작동하지 않을 것입니다. 리눅스 배포판이 리눅스 2.6.x 커널을 포함하고 있다고 가정할 때, 네트워크의 파일에 액세스하기 위해 공통 인터넷 파일 시스템 (cifs) 모듈을 사용하는 것을 추천합니다. 다음 파일을 다음 위치에 저장하세요:
/etc/auto.cifs이 작업을 수행하려면 root(또는 sudo) 권한이 필요합니다:
#!/bin/bash
# $Id$
# 이 파일은 작동하려면 실행 가능해야 합니다! chmod 755!
key="$1"
# 참고: 네트워크의 각 Windows/Samba 서버에 대한 자격 증명 파일을 생성하세요
# 비밀번호 인증이 필요한 경우. 파일은 정확히 두 줄을 포함해야 합니다:
# username=user
# password=*****
# 등호와 사용자 계정 이름 또는 비밀번호 사이에 공백을 사용하지 마세요.
credfile="/etc/auto.smb.$key"
# 참고: smbfs 대신 cifs를 사용하세요:
mountopts="-fstype=cifs,file_mode=0644,dir_mode=0755,uid=user,gid=users"
smbclientopts=""
for P in /bin /sbin /usr/bin /usr/sbin
do
if [ -x $P/smbclient ]
then
SMBCLIENT=$P/smbclient
break
fi
done
[ -x $SMBCLIENT ] || exit 1
if [ -e "$credfile" ]
then
mountopts=$mountopts",credentials=$credfile"
smbclientopts="-A "$credfile
else
smbclientopts="-N"
fi
$SMBCLIENT $smbclientopts -gL $key 2>/dev/null \
| awk -v key="$key" -v opts="$mountopts" -F'|' -- '
BEGIN { ORS=""; first=1 }
/Disk/ { if (first) { print opts; first=0 };
gsub(/ /, "\ ", $2);
sub(/\$/, "\$", $2);
print " \
/" $2, "://" key "/" $2 }
END { if (!first) print "\n"; else exit 1 }
'이 파일을 실행 가능하게 만들기 위해 다음 명령을 사용하세요:
chmod 755 /etc/auto.cifs이 파일은 일반적으로 autofs 패키지의 일부로 제공되는 auto.smb 파일의 약간 수정된 버전입니다. 위에서 mountopts를 정의하는 줄을 수정하고 user를 개인 계정 이름으로 변경해야 합니다. 이제 autofs에 네트워크의 공유에 액세스하는 데 필요한 자격 증명을 제공해야 합니다. 이를 위해 다음과 같은 파일을 생성하세요:
/etc/auto.smb.FILESERVERNAME접근하려는 각 컴퓨터에 대해 FILESERVERNAME을 컴퓨터 이름으로 바꾸세요. 이러한 파일에 컴퓨터의 공유에 액세스하는 데 필요한 사용자 계정 이름과 비밀번호를 입력하세요. 이러한 파일의 내용은 다음 예와 같아야 합니다:
username=user
password=secret비밀번호 정보를 보호하기 위해 다음 명령을 사용하세요:
chmod 600 /etc/auto.smb.*이제 autofs에 새로운 구성 파일을 사용하도록 지시해야 합니다. 다음 명령을 사용하세요:
echo "/cifs /etc/auto.cifs --timeout=60" >>/etc/auto.master그리고
/etc/init.d/autofs restart그게 전부입니다.
테스트
작동하는지 확인하기 위해 다음 명령을 사용하세요:
ls -als /cifs/FILESERVERNAME/SHARENAME작동하지 않는 경우, 시스템 로그 파일(일반적으로 /var/log/messages 또는 /var/log/syslog)을 참조하여 메시지를 확인하세요.
크레딧: davek가 공유 이름의 달러 기호와 공백을 더 잘 이스케이프하기 위한 패치를 제공했습니다.
새 게시물을 받은 편지함에서 받기
스팸은 없습니다. 언제든지 구독 해지 가능합니다.