Linux 파일 시스템은 SMB를 통해서만 읽을 수 있으며 SMB에 쓸 수는 없습니다.

Linux 파일 시스템은 SMB를 통해서만 읽을 수 있으며 SMB에 쓸 수는 없습니다.

일반적으로 macOS 터미널에 입력하기만 하면 이더넷을 통해 라우터에 연결된 Linux 컴퓨터의 모든 파일에 액세스하고 열고 편집할 수 있습니다. 그러나 터미널을 통해서만 상호 작용하는 대신 Linux 컴퓨터의 전체 파일 시스템을 마운트하여 Mac과 Linux 컴퓨터 간에 자유롭게 파일을 편집하고 전송할 수 있기를 원합니다.ssh [email protected]

macOS는 SMB를 통한 파일 공유를 지원하므로 원격 컴퓨터에 Samba를 설치하기로 결정했습니다.

sudo apt-get install samba

user그런 다음 파일 공유에 액세스하기 위한 사용자와 비밀번호를 추가했습니다.

smbpasswd -a user

그 후 다음을 포함하도록 Samba 구성 파일을 편집했습니다.

[Volumes]
   path = /volumes
   writable = yes
   write list = user
   force create mode = 0777
   force directory mode = 0777
   public=yes

마지막으로 Samba 서비스를 다시 시작했습니다.

sudo service smbd restart

이전에 설정한 사용자 이름과 비밀번호를 사용하여 VolumesFinder에 마운트 할 수 있습니다. user나는 또한 그 안에 있는 모든 것을 읽을 수 있었습니다 /volumes. 그러나 파일을 수정하거나 /volumes.

폴더를 읽기만 가능하게 하는 것이 아니라 쓰기 가능하게 만들려면 어떻게 해야 합니까? 위와 같이 Samba 구성에 writable = yes, write list = user, 라인을 추가했지만 force directory mode = 0777아무런 도움이 되지 않는 것 같습니다.

ls -lon의 출력은 /volumes다음을 제공합니다.

ls -l /volumes
total 248
drwxr-xr-x 9 root root 131072 Jul  3 01:06 bridge1
drwxr-xr-x 2 root root 102400 Jun 13 20:30 bridge2

답변1

/volumes수정 권한 만 있기 때문에 그 안에 있는 파일이나 디렉터리를 수정할 수 없습니다 root. 무슨 일이 일어나느냐에 따라 디렉토리 자체도 마찬가지입니다 volumes.

예를 들어 소유자에게 수정 액세스 권한을 부여 root하거나 그룹을 생성하고 해당 그룹에 추가를 사용한 다음 디렉터리 및 해당 콘텐츠에 대한 수정 액세스 권한이 포함된 그룹을 부여해야 합니다 .chown -R user /volumesuseruserusermod -aG group userchmod -R g+w /volumesuser

force directory mode패스에만 적용됩니다 samba. 이미 존재하는 항목에는 영향을 주지 않습니다. 어쨌든 모드로 사용하고 싶지는 않습니다 0777. 시스템에 액세스할 수 있는 사람은 누구나 안전하지 않은 디렉토리에 쓸 수 있기 때문입니다.

관련 정보