파일 이름에 콜론(:)이나 기타 특수 문자가 포함된 경우 CIFS 마운트에서 (rm) 파일을 삭제하는 방법은 무엇입니까?

파일 이름에 콜론(:)이나 기타 특수 문자가 포함된 경우 CIFS 마운트에서 (rm) 파일을 삭제하는 방법은 무엇입니까?

내 LAN에는 암호화된 공유 폴더가 있는 Synology NAS가 있습니다. CIFS를 통해 내 Debian 컴퓨터에 마운트됩니다(NFS는 암호화되지 않은 공유 폴더에만 사용할 수 있습니다).

//<NAS_IP_ADDRESS>/<SHARED_FOLDER> /mnt/<MOUNT_FOLDER> cifs _netdev,credentials=<PATH_TO_CREDENTIALS>,iocharset=utf8,mapchars,uid=<UID>,gid=<GID>,setuids 0 0

특수 문자(주로 콜론)가 포함된 파일 ( rm, stat, …)을 조작하려고 하면 오류가 발생합니다.mv

rm: cannot remove '<FILENAME>': No such file or directory

이 문제를 해결하려면 어떻게 해야 합니까? 아마도 마운팅 매개변수나 삼바 구성의 일부 옵션을 변경하고 있는 것 같나요?

미리 감사드립니다!

답변1

방금 같은 문제가 발생했습니다. 파일이 디렉토리 목록에 표시되지만 열거나 삭제할 수는 없습니다. find 또는 inode를 사용한 트릭은 작동하지 않았습니다.

그런 다음 cifs 마운트 대신 사용하면 smbclient파일 이름이 DOS 8.3 형식으로 표시되지만 삭제 명령은 여전히 ​​찾을 수 없습니다. 그러나 del *해당 디렉토리(남은 유일한 파일)를 사용하면 파일이 성공적으로 제거되었습니다.

CIF 마운트 나열:

ls: 'VK? NEWS - 2009.pdf.2018-12-03T01:24:59+01:00.snapshot.gz': No such file or directory
total 897
-rwxrwxrwx 1 root root 891372 Nov 13  2012 VK? NEWS - 2009.pdf.2018-12-03T01:24:59+01:00.snapshot.gz

smbclient를 통한 나열/삭제:

smb: \main\rdiff-backup-data\increments\userfiles\> dir
  .                                   D        0  Wed Oct 16 00:01:34 2019
  ..                                  D        0  Tue Oct 15 23:06:52 2019
  V9AGMV~L.GZ                         A   891372  Tue Nov 13 11:35:24 2012

                104857600 blocks of size 1024. 30534775 blocks available

smb: \main\rdiff-backup-data\increments\userfiles\> del V9AGMV~L.GZ
NT_STATUS_NO_SUCH_FILE listing \main\rdiff-backup-data\increments\userfiles\V9AGMV~L.GZ

smb: \main\rdiff-backup-data\increments\userfiles\> del *

smb: \main\rdiff-backup-data\increments\userfiles\> dir
  .                                   D        0  Wed Oct 16 00:05:42 2019
  ..                                  D        0  Tue Oct 15 23:06:52 2019

                104857600 blocks of size 1024. 30534775 blocks available

관련 정보