직접 또는 fstab을 통해 CIFS 파일 시스템 마운트

직접 또는 fstab을 통해 CIFS 파일 시스템 마운트

fstab 항목 없이 원격 CIFS 서버를 마운트하면 작동하지만 fstab을 통해 마운트하면 작동하지 않는 문제가 있습니다.

다음 명령이 유효합니다:

$ sudo mount -t cifs //w.x.y.z/Home$ /mnt/dir -o domain=A,username=B,password='C',sec=ntlmssp,file_mode=0700,dir_mode=0700

그러나 /etc/fstab에 다음 줄을 추가하고 명령 mount(예: mount -a또는 mount /mnt/dir)을 통해 마운트하려고 하면 아래 나열된 오류가 발생합니다.

$ tail -n 1 /etc/fstab
//w.x.y.z/Home$ /mnt/dir cifs domain=A,username=B,password='C',sec=ntlmssp,file_mode=0700,dir_mode=0700

실수:

$ sudo mount /mnt/csif
mount error(13): Permission denied
Refer to the mount.cifs(8) manual page (e.g. man mount.cifs)

dump 및 fsck pass order를 0으로 명시적으로 설정하는 것은 도움이 되지 않습니다. 두 명령 모두 동일한 작업을 수행하는 것 같습니다.

답변1

비밀번호를 직접 입력하지 않는 것이 가장 좋습니다 /etc/fstab(대개 누구나 읽을 수 있음). 대신, 파일에 넣고 다음과 같이 해당 파일을 참조하세요.

//w.x.y.z/Home$ /mnt/dir cifs credentials=/home/username/cifs.creds,sec=ntlmssp,file_mode=0700,dir_mode=0700

/home/username/cifs.creds해당 사용자(루트 또는 SMB 공유를 소유한 SMB 사용자에 해당하는 사용자)가 소유하며 chmod og-rwx다음 형식의 자격 증명을 포함합니다.

domain=A
username=B
password=C

A, 위의 내용은 리터럴이어야 합니다. BC, 따옴표나 백슬래시를 쉘과 같이 구문 분석하지 않아야 합니다.

답변2

mount 명령을 입력하면 이 부분이 password='C'셸에서 먼저 처리되어 password=Cmount 명령에 도달하기 전이 됩니다. fstab 항목은 이 작업을 수행하지 않으므로 작은따옴표를 제거해야 합니다. 비밀번호에 특수 문자가 포함된 경우 이를 8진수 코드, 특히 \040공백으로 바꿀 수 있습니다.

관련 정보