
나는 Ubuntu 20.04에서 (Samba를 통해) 새로운 사용자를 연결한 홈 미디어 파일 서버를 가지고 있습니다. 파일 서버는 NAS 역할을 수행하는 마이크로 PC입니다.
새 사용자는 9세이며 어린이 비디오 폴더 몇 개, 자신의 파일 등에 대한 읽기 권한을 원합니다. 그냥 로컬 복사본으로 만들 수도 있지만 제한하는 방법을 찾는 것이 더 좋을 것입니다. 서버가 아닌 게스트 측에서 액세스합니다.
사용자에게 삼바 공유에 대한 루트 권한을 부여하고 UI에서 다른 방식으로 이를 제한하고 싶습니다.
파일을 삭제하거나 변경할 수 없는 의도적으로 설치 가능한 읽기 전용 파일 관리자가 있습니까? 아니면 사용자 권한을 참조하지 않고 내부적으로 허용되거나 허용되지 않는 폴더 위치 목록을 사용할 수 있습니까?
Thunar의 기능에서 -rm 및 -mv 명령을 제거하는 것이 가능합니까? 예를 들어 사용자 정의 작업을 사용하여 '삭제' 키를 비활성화할 수 있지만(메뉴에는 없습니다) 파일 서버를 탐색하는 기능은 여전히 있습니다. 이 경우 "상위" 디렉터리는 말 그대로 상위 디렉터리입니다.
파일 관리자와 인터넷 액세스를 제한할 수 있는 자녀 보호 유형의 유틸리티가 있습니까?
1. 대안으로 미디어 재생 전용인데 이동/이름 바꾸기/삭제할 수 없는 클라이언트 전용 "비디오 주크박스" 애플리케이션이 있습니까?
또한 1의 대안으로 Samba 측면의 파일 서버에 미디어 서버 응용 프로그램을 설정할 수도 있지만 Puppy Linux에서 사용할 수 있는 패키지로는 간단하지 않을 것 같습니다.
===
사람들은 종종 "아이들은 이런 문제를 해결하는 방법을 찾습니다"라고 말하지만 여기에는 능력 수준에 대한 많은 가정이 포함됩니다. 내 해결 방법은 로컬 복사본을 만드는 것임을 기억하십시오.
고마워요 xx Catty
답변1
Samba 권한을 사용하여 솔루션을 찾았지만 여전히 클라이언트측 접근 방식이 있는지 알고 싶습니다. (나는 들어본 적이 없지만 누가 알겠는가).
외부 NTFS 파일 시스템을 공유하는 기존 + 작동 중인 NAS와 같은 파일 서버가 있고 Windows 내에서 사용자 권한이 설정되지 않은 상황에서 Samba 서버를 실행하고 성인 사용자가 있는 Ubuntu 클라이언트 PC(" Adultname") 및 하위 사용자("childname")...
Samba NAS-box에는 자녀의 Ubuntu 사용자 이름을 사용자로 추가하는 기능이 필요합니다. 예: 'adduser childname'을 통해
자녀의 사용자 이름이 서버에 추가되었지만 NTFS 디스크에 대한 acl/Linux 파일 권한을 설정하는 데 (쉽게) 사용할 수 없습니다. Samba에 해당 사용자 이름이 필요했을 뿐입니다.
서버에서 사용자가 생성되면 Samba에 추가하고 Samba에서도 활성화해야 합니다. 이에 대한 명령은 'smbpasswd -a childname'과 'smbpasswd -e childname'이었습니다.
하위 사용자를 추가하기 전에 제대로 작동했다면(가이드가 많이 있음), 서버가 HDD를 마운트하기 위해 사용하는 /etc/fstab 라인은 그다지 중요하지 않으며 그대로 둘 수 있습니다.
클라이언트가 Samba 공유를 마운트하기 위해 사용하는 /etc/fstab 라인도 그다지 중요하지 않습니다. acl, fmask= 및 dmask=, file_mode= 및 폴더_모드= 또는 추가 자격 증명에 대한 새 설정을 추가할 필요가 없습니다. 생성할 파일
ntfs 디스크에서 acl/POSIX 파일 권한을 활성화하기 위해 사용자 매핑 파일을 만들 필요가 없습니다(접근 방식으로 가능할 수도 있음).
해당 etc/fstab 파일에서 서버는 ntfs를 파일 유형으로 사용할 수 있지만 클라이언트는 자동 마운트하려면 cifs를 사용해야 합니다.
공유 HDD에서는 어린이 사용자 폴더를 성인 사용자 폴더 안에 두지 않거나 성인 폴더를 드라이브의 루트로 두지 않는 것이 가장 좋습니다(제 경우에는 이러한 일을 쉽게 피할 수 없었습니다)
쓰기 권한이 없고 읽기 권한이 제한된 하위 사용자를 추가하는 데 필요한 간단한 종류의 권한은 smb.conf를 편집하여 Samba 내에서 관리할 수 있습니다.
smb.conf에서 다음 줄을 추가하는 데 필요한 전역 설정:-
탐색 가능 = 아니요
smb.conf에서 성인 사용자 공유 항목에 다음 줄을 추가해야 합니다.
읽기 목록 = 루트 성인 이름 어린이 이름
쓰기 목록 = 루트 성인 이름
위에서는 직관에 어긋나지만 어린이의 사용자 이름은 성인의 삼바 공유 읽기 목록에 있어야 합니다. 왜냐하면 해당 폴더가 그 안에 있고 권한이 단순히 공유를 읽지 않고도 읽을 수 있도록 "횡단"할 수 없기 때문입니다. 위 폴더를 읽으려면
browserable = no를 설정하는 것은 해당 사용자로부터 해당 파일에 대한 acl/POSIX 파일 권한을 제거하는 것처럼 안전하지 않지만 이 경우에는 충분합니다.
smb.conf에서 다음 줄을 추가하는 데 필요한 하위 사용자 공유 항목:-
읽기 목록 = 루트 성인 이름 어린이 이름
쓰기 목록 = 루트 성인 이름
내 경우에는 위의 변경 사항이 공유에 액세스하는 로컬 Windows PC에 영향을 미치지 않았습니다.
다른 접근 방식은 하위 사용자를 위한 모든 파일의 로컬 복사본을 만들거나 공유 HDD를 ext4로 다시 포맷하고 폴더 레이아웃을 다르게 구성하는 것이었을 수 있습니다. 그러나 저는 이 방법이 더 바람직하다고 생각했고, 제가 원했던 작업을 수행하며 Samba를 사용합니다. ACL이 부족한 액세스 제어
제가 실수한 것이 있다면 알려주시면 감사하겠습니다. Ubuntu UI 내에서 사용자를 제한하는 더 간단한 방법이 있다면 그것도 유용할 것입니다(그런 것들이 있다면 맨 위에 추가해도 문제가 되지 않습니다).