사용 사례

사용 사례

사용 사례

나는 유일한 사용자입니다. 전체 디스크 암호화 기능을 갖춘 우분투 NAS가 있고 내 Windows 컴퓨터를 장치에 백업하려고 합니다. Windows 드라이브를 NAS에 복제할 수 있도록 부팅 가능한 USB 스틱이 필요하지만 공유에 대한 자격 증명이 있는 USB 스틱을 발견한 사람이 전체 백업 공유를 읽을 수 있는 것을 원하지 않습니다. 더 나은 해결책을 생각해 볼 수 있나요?

내가 원하는 것은 실현 가능하다

검색했지만 필요한 것을 찾을 수 없습니다. 내가 찾은 모든 것은 단순히 공유에 대한 쓰기 액세스를 활성화하는 것에 관한 것이었지만 이는 내가 원하는 것이 아닙니다.

내 우분투 컴퓨터에 사용자가 할 수 있는 삼바 공유를 만들고 싶습니다.오직쓰기 권한. 나는 그들이 파일을 만들 수는 있지만 읽을 수는 없고 공유 내의 폴더를 나열할 수는 없도록 하고 싶습니다.

이는 백업용입니다. 부팅할 수 있고 해당 컴퓨터에 있는 드라이브의 디스크 이미지를 가져와 삼바 공유에 저장할 수 있는 부팅 가능한 USB 드라이브를 원하지만 USB가 모든 이미지에 액세스할 수 있는 것을 원하지 않습니다.

파일이 이미 존재한다면 실패해도 괜찮습니다. 드라이브 UUID/시간을 사용하여 파일 이름이 충돌하지 않는지 확인하겠습니다.

답변1

비슷한 작업을 수행했는데 유일한 차이점은 한 사용자는 쓰기만 할 수 있지만 읽을 수는 없고(디렉터리 목록도 나열) 다른 사용자는 읽기만 할 수 있다는 것입니다.

/etc/samba/smb.conf

[write-only]
  comment = Write-only access without read
  path = /smbshare
  hosts allow = 172.17.10.10
  hosts deny = 0.0.0.0/0
  read only = no
  write list = smbwrite
  force user = smbwrite
  force group = smbread
  create mask = 0350
  directory mask = 0350
  force create mode = 0350
  force directory mode = 0350

서버 측 초기 액세스 권한:

chmod -R 350 /smbshare
chown -R smbwrite:smbread /smbshare

유일한 단점은 정확한 파일 이름을 알면 나열할 수 있다는 것입니다.

다음 섹션은 참조용으로 제공됩니다.

[read-only]
  comment = Read-only access
  path = /smbshare
  read only = yes
  hosts allow = 172.17.10.20
  hosts deny = 0.0.0.0/0
  read list = @smbread

/etc/fstab두 클라이언트의 항목:

smbwrite (172.17.10.10), 로컬 사용자 "foo":

//172.17.10.1/write-only      /mnt/write      cifs    user=smbwrite,pass=s3kr1t,uid=foo,vers=3.0 0 0

smbread (172.17.10.20), 로컬 사용자 "bar":

//172.17.10.1/read-only /mnt/read cifs user=smbread,pass=s3kr1t,uid=bar,vers=3.0 0 0

답변2

마운트 지점은 비활성화된 쓰기(읽기 전용)만 지원하고 비활성화된 읽기는 지원하지 않습니다. 그러나 파일 권한을 사용하여 대부분의 작업을 수행할 수 있습니다. 사용자가 자신의 파일을 읽는 것을 막을 수는 없지만 다른 사람의 파일을 읽는 것은 막을 수 있습니다.

필요할 것이예요:

  • 사용자가 서로의 파일을 삭제하는 것을 방지하는 고정 비트입니다.
  • 다른 사람이 읽지 못하도록 디렉토리의 읽기 비트를 끄십시오.
  • 기본 권한을 설정하여 다른 사람이 파일을 읽지 못하도록 파일의 읽기 비트를 끄십시오.

어떻게

  chmod +t "«the directory»"
  setfacl -m "u::wx,g::wx,o:-" "«the directory»"
  setfacl -m "d:u::-,d:g::-,d:o:-" "«the directory»"

경고하다

이 기능은 사용자가 쉽게 사용할 수 없습니다.일부추가 권한. 또는 사용자당 하나의 디렉터리입니다.

백업을 하는 방법도 아닌 것 같아요. 매일 백업을 수행하도록 크론 작업을 설정합니다. 버전 제어를 위해 백업을 사용할 수 있으므로 버전 제어 시스템 사용을 고려하십시오. Subversion(svn)은 필수 사용자와 대부분의 파일 형식에 적합한 버전입니다. Mercurial은 프로그래머에게도 적합하며 다른 파일 형식과 함께 사용할 수 있지만 병합할 수 없는 파일(예: MS-Office)에는 권장하지 않습니다.

관련 정보