Dostęp tylko do zapisu, który widzi obecne pliki?

5

W naszych szkołach mamy udziały sieciowe dla różnych klas zawierających foldery „Hand In, Hand Out”. Uczniowie umieszczają swoją pracę w folderze Hand In, a nauczyciele umieszczają zadania w folderze Hand Out.

Folder Hand In to folder, do którego uczniowie mają dostęp tylko do zapisu. [Mac OS X nazywa taki folder „Drop Box”, ponieważ możesz przeciągać i upuszczać do niego pliki, ale nie widzieć, co jest w środku.]

Przyjrzałem się temu i doszedłem do wniosku, że odpowiedź brzmi „nie”, ale czy każda kombinacja uprawnień i list kontroli dostępu pozwala mieć folder z dostępem tylko do zapisu, w którym można zobaczyć nazwy plików, które się w nim znajdują ( ale nie otwierają plików)? W przypadku, gdy uczeń nie był pewien, czy oddał zadanie, pozwoliłoby to sprawdzić, czy tak się stało.

O krok lepiej byłoby, gdyby uczniowie zobaczyli nazwy plików, które przekazali, ale nie nazw innych osób.

Aktualizacja: Jeszcze jeden prawdziwy nuans polega na tym, że uczniowie mogą potrzebować oddawać całe foldery, a nie tylko pojedyncze pliki. Mac OS X używa pakietów - rzeczy, które wyglądają jak pliki dla użytkownika, ale w rzeczywistości są katalogami. (Aplikacje są najlepszym przykładem, ale Pages, Keynote i cholera, nawet TextEdit (po dodaniu grafiki do dokumentu), zapisywanie pakietów.) Zajęło trochę dodatkowej pracy, aby umożliwić przekazanie folderów (jak możesz patrz poniżej).

Oto część mojego istniejącego skryptu. Zauważ, że robi to, co chcę, z wyjątkiem uzyskania jakiejkolwiek listy plików w środku:

$ ADMIN jest użytkownikiem administratora systemu. $ STAFF to grupa nauczycieli. $ GRADE to grupa reprezentująca grupę studentów. Polecenie funky chmod służy do ustawiania list ACL w systemie OS X.

# Create the hand-in folder
mkdir "Hand In"
chown "$ADMIN:$GRADE" "Hand In"
chmod 4730 "Hand In"
chmod +a "$ADMIN allow list,add_file,search,delete,add_subdirectory,delete_child,readattr,writeattr,readextattr,writeextattr,readsecurity,writesecurity,chown,file_inherit,directory_inherit" "Hand In"
chmod +a "$STAFF allow list,add_file,search,delete,add_subdirectory,delete_child,readattr,writeattr,readextattr,writeextattr,readsecurity,writesecurity,chown,file_inherit,directory_inherit" "Hand In"
chmod +a "$GRADE allow add_file,delete,add_subdirectory,delete_child,writeattr,writeextattr,file_inherit,directory_inherit" "Hand In"

Dzięki temu administrator i grupa pracowników mają pełny dostęp do plików w folderze Hand In (dzięki czemu mogą je usuwać, przenosić itp.), A uczniowie mogą przekazywać pliki lub foldery (ale ich nie widzieć) w ogóle!).

Clinton Blackmore
źródło
Aby to wyjaśnić, używasz Mac OS X?
Richard Slater
Tak, konkretne pytanie dotyczy uprawnień na OS X Server 10.5. Zredagowałem pytanie, aby dodać do niego tag „macosx”. Zapomniałem, że uprawnienia dotyczą teraz okien, i pomyślałem, że istnieje szansa na to, że uprawnienia posix mogą uzyskać to, czego chcę.
Clinton Blackmore,

Odpowiedzi:

4

Nadanie uprawnień do odczytu katalogu (ale nie plików) powinno pozwolić użytkownikom zobaczyć nazwy plików, ale nie odczytać poszczególnych plików. Zatem twoje uprawnienia do katalogu wyniosłyby 666, ale do plików - 600 (zakładając, że chcesz, aby uczniowie mogli czytać własne pliki, w przeciwnym razie byłoby to 200). Nie znam żadnego sposobu, aby to zrobić w OSX, aby mogli zobaczyć tylko przesłane przez siebie pliki. Rzeczą, na którą musisz uważać (a ja jestem administratorem Uniksa, a nie administratorem OSX, więc nie jestem pewien, jak to zrobić w OSX), musisz upewnić się, że uprawnienia do katalogu nie stają się domyślne uprawnienia do pliku w katalogu.

Catherine MacInnes
źródło
Dziękuję Ci. Będę musiał zrobić kilka testów. Mac OS X 10.5 jest uniksowy i działają standardowe uprawnienia do POSIX-a. Myślę, że konfiguracja ACL jest unikalna dla komputerów Mac, ale prawdopodobnie nie różni się od konfiguracji używanej w innych systemach.
Clinton Blackmore,
1
FWIW, ACL nie są unikalne dla Mac OS X - ale ich specyficzna implementacja jest. Jest bardzo podobny do tego obserwowanego w innych systemach * NIX, ale używasz różnych narzędzi.
Chealion
Wiem, że możesz zastosować uprawnienia Posix do OSX, czego nie wiem, co Apple dodało oprócz tych uprawnień Posix i jak bałagan z uprawnieniami za pomocą chmod wpływa na te dodatki.
Catherine MacInnes
1

Możesz użyć list ACL, aby w większości osiągnąć ten cel:

Doręczać

Zakładam, że używana jest tutaj grupa:

Dla grupy studentchcesz włączyć następujące flagi:

"group:student allow list,add_file,add_subdirectory,readattr,writeattr,readextattr,writeextattr,readsecurity,file_inherit,directory_inherit"

I następujące flagi wyraźnie wyłączone:

"group:student deny list,search,file_inherit,limit_inherit,only_inherit"

Uczniowie nie są w stanie odczytać żadnego z plików ani ich usunąć. Ale niestety mogą wyświetlić wszystkie pliki.

Możesz ustawić je za pomocą wiersza poleceń, używając chmodlub używając GUI, takiego jak Sandbox .

Przykład użycia:

chmod -a "students allow read,write,append,readattr,writeattr,readextattr,writeextattr,readsecurity" /PATH/TO/HAND/IN/FOLDER
chmod -a "students deny list,search,file_inherit,limit_inherit,only_inherit" /PATH/TO/HAND/IN/FOLDER
Chealion
źródło
Jest to bardzo zgodne z tym, co miałem na myśli. Byłoby plusem, gdyby mogli tylko wyświetlić listę swoich plików. Dzięki za link do Sandbox; Nigdy o tym nie słyszałem.
Clinton Blackmore
0

Zakładam, że to są okna, prawda?

Mieliśmy wiele problemów z robieniem czegoś takiego, gdy użytkownicy pracowali nad dokumentem Word / Excel w folderze „drop off” i mieli dostęp do zapisu (ale nie usuwania). Pliki tymczasowe gromadziłyby się w programach Word i Excel i powodowały wiele problemów. Dzieje się tak za każdym razem, gdy użytkownik dwukrotnie kliknie jeden ze swoich plików, aby na niego spojrzeć (jak wyżej wspomniany, sprawdzając, czy go oddał), a także za każdym razem, gdy nie nazwie go poprawnie i chce zmienić nazwę.

W końcu daliśmy użytkownikom standardowy dostęp do odczytu / zapisu / edycji / usuwania i poprosiliśmy ludzi monitorujących foldery o przeniesienie plików po ich otrzymaniu. Użytkownicy stracili możliwość zobaczenia, w co już się zgłosili, ale hej, żaden plan nie jest idealny.

hellimat
źródło
0

Drugi raz natknąłem się na to pytanie i nie widziałem, co może być dla ciebie dobrą odpowiedzią, więc wypowiedz mi to:

Co powiesz na stronę ftp (korzyść z niezależności systemu operacyjnego, może być wewnętrzna itp.) Następnie możesz zablokować foldery / pliki każdego ucznia dokładnie tą metodą?

EDYTOWAĆ:

Jeśli zastanowisz się nad tym rozwiązaniem, oto dwa linki, które mogą ci pomóc:

FTP mini instrukcje
Jak ograniczyć dostęp do witryny ftp w systemie Windows Server 2003

DRUGA EDYCJA (myślę, że to może być to, czego szukasz)

Jak skonfigurować witrynę ftp typu „blind-drop”

Greg Meehan
źródło
Gdybym użył FTP, mogliby mieć dostęp tylko do zapisu i zobaczyć nazwy plików? Jeśli tak, to czy nadal używam uprawnień do bazowego systemu plików, czy jest to coś, co konfiguruję w konfiguracji serwera FTP?
Clinton Blackmore,
Clinton; Nie jestem do końca pewien, czy mógłbyś to tak skonfigurować, ponieważ sam tego nigdy nie konfigurowałem, ale MOŻESZ zrobić wiele interesujących rzeczy z uprawnieniami do plików / katalogów na serwerze FTP. Wierzę, że jeśli masz dostęp do zapisu, domyślnie będziesz mógł ZOBACZYĆ pliki, ale mogę się mylić. Re: twoje pytanie o perms systemu plików; przez system plików ..
Greg Meehan
Jeśli czytam to poprawnie, ślepe upuszczenie wydaje się być tym, co mam teraz - możesz umieścić pliki na serwerze, ale nie wyświetlać tego, co tam jest.
Clinton Blackmore
Ahhhh ... ponowne czytanie, ok. Cóż, myślę, że twoja odpowiedź polega na założeniu strony ftp, ale znowu, nigdy nie zrobiłem tego dokładnie tak, jak to opisujesz.
Greg Meehan
Jeśli polegam na podstawowym systemie operacyjnym / systemie plików w zakresie uprawnień, nie widzę korzyści z używania FTP [wewnętrznie, w systemach jednorodnych]. Czy jest coś, co FTP zrobi dla mnie, że AFP (Apple Filing Protocol, domyślny system Mac do uzyskiwania dostępu do plików przez sieć) nie chce lub robi to łatwiej?
Clinton Blackmore
0

IMO FTP to najprostszy sposób na osiągnięcie tego, czego szukasz, ale mam kilka innych pomysłów. Pamiętaj, że jest to z punktu widzenia Nix, więc nie jestem pewien, jak dobrze będzie miało zastosowanie do OSX.

Jeśli udostępnianie OSX umożliwia ustawienie umask dla użytkowników, wystarczy dać im dostęp do odczytu / zapisu w folderze i ustawić umask użytkowników, aby tworzone przez nich nowe pliki miały tylko uprawnienia do odczytu (0770 sprawi, że uprawnienia użytkownika i grupy do pliku są ustawione na 0).

Jednym ze sposobów, w jaki to zrobiłem dla klienta, jest użycie incron do natychmiastowego przeniesienia dowolnych miejsc plików w folderze „Hand In” do innego folderu, w którym „nauczyciel” mógłby zrobić z nim, co chce.

Mam nadzieję, że to pomaga


źródło
Właśnie spojrzałem na incron - uruchamia skrypt oparty na zdarzeniach systemu plików. Odpowiednikiem dla komputerów Mac byłoby użycie uruchomionego skryptu lub akcji folderu.
Clinton Blackmore,