Paylaşılan dizindeki yeni dosyaların izinleri


31

Yeni bir iMac aldık; /Users/Shareddizini, makinedeki tüm kullanıcılar için erişilebilir olmasını istediğimiz medya varlıklarını (resimler, ses, video) saklamak için kullanıyor . Başlangıçta tüm dosyalar üzerine kopyaladıktan sonra, istenen izinleri ayarladık ve ardından aynı izinleri tüm dizin içeriğine tekrar tekrar uyguladık. Bu iyi çalışıyor, ancak ne zaman birisi yeni bir dosya veya dizin oluştursa, aynı izinlere sahip değil ve herkesin erişebilmesi için tüm izin sürecini tekrarlamamız gerekiyor.

Bu dizinde oluşturulan tüm yeni dosyalar / dizinler için izinleri ayarlamamızın bir yolu var mı?


Genişletilmiş Öznitelikler, çok liberal erişim izinleri belirlemenizi ve dizinin içine yayılmalarını ve yeni kreasyonlar üzerinde çalışmaya devam etmelerini söyleyecektir, ancak benim için ömür boyu talimatlar bulamıyorum. Burada geçerli bir seçenek olmadığını varsaydığım Sunucu Yönetim Araçları'nı kullanarak yalnızca OSX Sunucularında yapabilirim?
Jason Salaz,

Hayır! Yalnızca iMac ile gelen işletim sistemi disklerine erişimimiz var.
Daniel Standage

1
Terminalde çalışmaktan memnunsanız , aradığınız cevap bu olabilir.
boehj

Yanıtlar:


32

Bunu geleneksel POSIX tarzı izinlerle yapamazsınız, ancak kalıtsal erişim kontrolü girişleriyle yapabilirsiniz. Tüm "personel" grubunun okuma / yazma erişimine izin vermek için / Users / Shared / reallyshared içindeki her şeye kullanmalısınız:

sudo chmod -R +a "staff allow list,add_file,search,add_subdirectory,delete_child,readattr,writeattr,readextattr,writeextattr,readsecurity,file_inherit,directory_inherit" /Users/Shared/reallyshared

file_inherit,directory_inheritBu erişim denetim girdisi otomatik olarak yeni dosyalar ve bu klasör içinde oluşturulan klasörler eklenecektir, ancak otomatik olarak en ekledim yüzden (zaten orada öğeler için geçerli değildir o kısmı araçlarının -Rbayrağı chmodiçinde şu anda her şeyi uygular - klasör), ve başka bir yerde yaratılan ve sonra bu klasöre taşınan öğelere uygulanmayacak (bunun çevresinde bir yol bilmiyorum, üzgünüm).


Paylaşılan bir dizine taşınan dosyalar için bile bu çalışmanın bir yolunu bulmayı çok isterdim. Tamamen paylaşılmayan bir paylaşılan dizinde dosya olması sinir bozucu.
radven

Bu, posix izinleri izin vermiyorsa, bir klasöre yazılmasına izin vermez. Yani, bu klasörü Finder'da oluşturuyorum: drwxr-xr-x+ 2 User staff 68 Dec 15 14:10 untitled folderSonunda +, yukarıdaki komutunuzu kullanarak uygulanan genişletilmiş ACL'ye sahip olduğu anlamına geliyor, ancak Windows bu klasöre bir dosya yazmaya çalışırsam hala reddedildiğini söylüyor. Sadece chmod g+w untitled\ folderyazmama izin veriyor. Samba'yı OSX'in korkunç yeni SMB uygulaması için çalışmak üzere kurduğum için olabilir.
Chris Dragon,

@ChrisDragon: samba gibi sesler ACL'ye tam olarak uymuyor. Burada /etc/smb.conf bölümünü eklemek nt acl support = noiçin bir öneride [Global]bulundum, ancak bunun samba'nın şu anki sürümlerinde hala geçerli olduğundan emin değilim.
Gordon Davisson

4

Başka bir yaklaşım ise Terminal'i (aka kabuk veya komut istemi) kullanarak / düzenlemek (süper kullanıcı olarak gerçekleştirilmek zorunda, sudo'ya bakınız) dosyayı kullanmaktır:
/etc/launchd-user.conf
satırı ekleyerek:
umask 000
kaydet ve yeniden başlat. Yeni dosyalar / klasörler (farklı kaydet ile değiştirilen dosyalar dahil) herkesin okumasına / yazmasına izin verir.

Bu, programlar için varsayılan dosya oluşturma izinlerini değiştirerek çalışır, ACL yaklaşımı ise belirli dosya ve klasörlere bağlı olan erişim kuralları açısından çalışır.

Bu ince ayar olmadan, dosyalar kullanıcıya izin verecek şekilde oluşturulur: okuma-yazma, grup ve diğer: salt okunur.

Birden fazla bilgisayar arasında paylaştırıyorsanız, paylaşımı kullanacak tüm bilgisayarlar için bunu yapmanız gerekir.

Paylaşılan alanda mevcut dosya ve klasörünüz varsa, bunları kullanan herkes tarafından hepsini okunabilir / yazılabilir hale getirmeniz gerekir:
sudo chmod -R og+w <shared-folder-name>

Komut, İngilizce olarak değişiklik modu olarak okur, tüm alt klasörler ve dosyalar arasında özyinelemeli, diğer ve grup izinleri klasörden başlayarak yazma erişimi ekler.

Bu yaklaşım forumlarda en az 10.6 gibi çalışacak ve halen 10.7 üzerinde çalışacak şekilde belirtilmiştir.

Diğer faktörler hala içeriğe erişimi etkilemektedir. Örneğin, Paylaşım kontrol panelinde ayarlanan izinler, giriş klasörü izinleri / ACL'ler ve Terminal kullanıldığında kabuk için geçerli olan herhangi bir umask kullanılır.

Look up izin maskesini ve Posix dosya izinlerinibu Unix konseptleri hakkında ayrıntılar için. Yazılanlarda, dizin sözcüğü Unix parlance ile eşanlamlıdır. Aynı zamanda UID ve GID terimleriyle de karşılaşacaksınız: çalışan programların (süreçlerin) Posix sahipliğini tanımlayan kullanıcı ve grup kimlikleri. UID'lerin ve GID'lerin, farklı bilgisayarlarda belirli bir kullanıcı adı için aynı veya farklı olabilecek numaralar olduğunu unutmayın. Bu numaralar, belirli bir bilgisayarda, genellikle ID 501 ile başlayan sıra hesaplarındaki isimlere atanır. Ev ağları, bu atamaları bilgisayarlar arasında uyumlu hale getirecek bir mekanizmaya sahip değildir. Bu nedenle, ağ paylaşımlarında bir dosya farklı kullanıcılara ait görünebilir, çünkü kullanıcı adı bağlayıcıya kullanıcı kimliği, bilgisayar açısından dosyaya erişiyorsa belirlenir. Dolayısıyla paylaşımlar her zaman herkesin dosyalara herkesin çeşitli derecelerinde erişmesine izin verir. Başka bir deyişle, Posix "öteki" izni, farklı bilgisayarlarda atanan kullanıcı kimlikleriyle ilgili olarak oldukça öngörülebilir ancak görünüşte belirsiz bir erişim derecesine izin vermekten farklı bir erişim sınırlamasıdır. Bu durum, bazı ağlarda, örneğin her Mac'te yalnızca bir kullanıcı hesabı olan bir kurulumun, herhangi bir izin ayarlaması olmadan paylaşım yapabileceği, tüm hesapların aynı UID'ye sahip olacağı için, deneyimlerin görünüşte saçma sapmalara yol açıyor (501, hayır hesapların adı ne olursa olsun), Mac başına birden fazla kullanıcı hesabı kullanan başka bir ağ hemen sorunları görecektir. Bu yüzden bazı gruplar bununla asla mücadele etmeyecek, bazıları ise zamanla ortaya çıkan sorunları ya da kendiliğinden ortaya çıkan / kaybolan sorunları görebiliyor,

Apple'ın dosya paylaşım özelliğini etkinleştirmek için bu kadar kolay olan bir konfigürasyonda kullanılabilirlik kusurunu neden bıraktığı bir sırdır.

Harici disklerde, bu sorun "Bu birimdeki izinleri yoksay" seçeneği ile giderilir. Apple dosya paylaşımı için benzer bir özellik olabilir, ancak nerededir.

Kendi Samba servis konfigürasyonunuzu kullanıyorsanız, bu problemlerin üstesinden gelmek için başka mekanizmalar var, fakat Samba'nın kullanımı hiç de kolay değil.


/etc/launchd-user.conf, kullanım lehine kaldırılmıştır launchctl. Bkz support.apple.com/en-us/HT201684
Jess Bowers
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.