Bir dizindeki tüm dosyalardaki ve yeni dosyalar eklendiğinde izinler varsayılan değerlere nasıl değiştirilir?


5

/home/userName/Public/MediaMakinede tüm ortamları sakladığım bir klasör var ; Bu klasöre makinenin diğer tüm kullanıcıları tarafından erişilebilmesi amaçlanmıştır - sadece aynı medya dosyalarını bağımsız olarak indirmek / kopyalamak zorunda kalmamak için.

İzinleri değiştirebileceğim bir yol var mı:

owner: userName /* my own user */
Access: read and write

group: users
Access: read only /* I'm not entirely sure I trust all my users enough to give them powers of delete */

Others
Access: read only

İdeal olarak, başkalarının kendi medyalarını ekleyebilmelerini isterim; Kullanıcılarımın eklediği dosyaların izinleri, kullanıcıların mülkiyeti elinde tutmaları haricinde, yukarıdakilerin varsayılanlarını kullanmak isterim.

İnotify ve umask'ın kullanılabileceğini varsayıyorum; fakat -ve sadece bunun için özür dileyebilirim- onları bir çözümü nasıl kullanacakları konusunda hiçbir fikrim yok.

Sağlayabileceğiniz her türlü yardım için teşekkür ederiz. Bir gün Ubuntu'yu şaşkınlıkla kullanabilmeyi umuyorum ... =)

Yanıtlar:


7
chown -R userName:groupname folderName
chmod -R 744 folderName

umask 022 (in .login or .profile)

chmod dosyalardaki izinleri değiştirir. Alışık değilseniz biraz garip ama kısaca:

Kullanımı (sekizlik için): chmod ABC (hedef dosya / klasör)

"A", Sahibinin izinleri, "B", Sahip Grubun izinleri ve C, Herkesin izinleridir.

İzinler aşağıdaki gibi dağıldı

1 = Yürüt 2 = Yaz 4 = Okuma

İzin düzeyini belirlemek için bunları ekleyin. Mesela okuma ve yazma yapmak ama yürütmek için, (2 + 4) = 6 kullanın. Okuma, yazma ve yürütme için kullanın (1 + 2 + 4) = 7.

Yani "chmod -R 744 folderName" şu anlama gelir:

Sahip için Okuma + Yazma + Yürütme izinlerini ayarlama (7) Sahiplik grubu için Okuma izinlerini ayarlama (4) Herkesin Okuması için izinleri ayarlama (4)

Bu izinleri folderName'e uygulayın ve oradan bunları klasördeki tüm dosyalara yinelemeli olarak (-R) uygulayın.

Bu oldukça basit; chmod'u kullanmanın başka yolları ve onunla ayarlayabileceğiniz diğer özellikler, vb. vardır, ancak bu iyi bir başlangıçtır.

Şimdi umask:

Umask, temelde dosya ve dizin oluşturma için varsayılan izinleri ayarlamanın bir yoludur. Genellikle her kullanıcı için .profile veya .login dosyasında ayarlanır, ancak umask 022 ya da her neyse yazarak çeşitli zamanlarda kendiniz için ayarlayabilirsiniz.

(Sekizli) umask izinleri , chmod izinlerinin tersidir . Bunun garip olduğunu biliyorum. Ancak, dizindeki tüm dosyaların 777 numaralı dosya izni ile oluşturulmasını istiyorsanız (sahibi, grubu ve herkes için okuma + yazma + yürütme) umask değerini 000 olarak ayarlayın.

Bu nedenle, tüm kullanıcılarınızın 644 (okuma / yazma, okuma, okuma) dosyaları oluşturması için umask değerini 022 olarak ayarladınız (yanlış görünüyor, ancak dosyalar varsayılan olarak çalıştırılamaz, bu nedenle yeni oluşturulan dosyalar 644 ve yeni oluşturulan dizinler 755 olacaktır.

Umarım bu kafa karıştırıcı değildi.


Bunun bir nedeni, upvoted ve kabul ettik müthiş cevabı ve müthiş bir açıklama (ve bunu isteyerek yapar), ama orada olmalı olup olmadığına Sizce olarak merak ediyorum media kullanıcı ? Bu nedenle paylaşılan tüm medya bir kamu / kamuya açık kullanıcı hesabı altında depolanacak, bu yüzden ~ / dizinim gizli kalsın mı?
David Thomas

Bunu yapmanın bir sürü yolu var; İnsanların etrafta dolaşıp dolaşmasını istemem, kesinlikle. Ancak, sadece bir klasör oluşturabilir ve ortak bir gruba veya başka bir şeye boğabilirsiniz. Tüm bir kullanıcı yapmaya gerek yok ... Hatırlanması gereken bir başka şifre seti.
Satanicpuppy
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.