Yanıtlar:
Greg , bahsetti attrib - ama attrib yakın bir yerde değil chmod- attribtek bir dosyanın Salt Okunur / Gizli özniteliklerini ayarlayabilir - aynen iyi ayarlanmış kontroller icaclssağlamaz.
icaclsErişim kontrol listelerini ayarlar / sıfırlar, böylece bireysel SID'ler ve gruplar için haklar verebilir / reddedebilirsiniz. Yine de oldukça karmaşık.
İşte github özümde kaydettiğim bir örnek ; Bir klasördeki tüm dosyalar için sahipliği ve erişim denetim listesini sıfırlar ve özellikle önceki bir yüklemeden dosya taşırken, rahatsız edici "Bu işlemi gerçekleştirmek için izin vermelisiniz .." için özellikle yararlıdır:
icacls * /reset /t /c /q
Sıfırla, var olanı varsayılan listeyle değiştirir.
/ttüm dosyalarda, klasörlerde ve alt klasörlerde tekrar tekrar hareket eder , bir hata durumunda bile kalan dosyalarla devam eden
/qbaşarı mesajlarını göstermez
/c.
Ayrıca mevcut ACL'leri yedeklemek ve hepsini uygulamak gibi şeyleri de yapabilirsiniz. Farklı seçenekleri ve anahtarları çok iyi anlatan ss64'e bir göz atın .
cmd[Win] + [R] tuşlarına basarak elde ettiğiniz "normal" bunlardan yoksundur. Bu özel ihtiyaçlar için "Yönetici kabuğu" kısayoluna sahibim, "Yönetici olarak çalıştır" (veya benzeri; Alman Windows sistemindeyim) işaretli (ve koyu kırmızı bir arka plan rengiyle).
Orada (ne yazık ki) tam bir eşdeğer olamaz, çünkü Linux ve DOS / Windows farklı amaçlar için öznitelikler kullanır ve (daha önce Chathuranga'nın dediği gibi) güvenlik modeli farklıdır:
H) ve "system" ( S) öznitelikleri vardır; orada, bir nokta ( .) ile isim hazırlanarak dosyalar gizlenir .A) özniteliğine de eşdeğer yoktur .xDOS / Windows dosya özniteliklerinde "yürütülebilir" ( ) Linux özniteliklerine eşdeğer yoktur .D) özniteliği (ama yine de değiştirilemez).DOS dosya özniteliği R(salt okunur), bir eşdeğeri olduğu düşünülebilecek olandır: Bu öznitelik kümesi , wtüm eksiklerin özniteliği gibidir ; ancak bu niteliği değiştirme izni ACL'ye tabidir.
Windows'ta bir chmod/ chowneşdeğerine sahip olmak harika olabilir , belki de bazı kodlama dillerinde yazılmış, ki bunlar sırasıyla aramalar attribve cacls(veya halefler) olabilir, ama bende yok.
CAP_LINUX_IMMUTABLEişlemle ayarlanabilir), ancak Windows'ta ayarlanan niteliklere erişim tamamen ya da hiç değildir. Bu yaygın olan hata uygulamalarında chmod, Windows salt okunur dosya özniteliği ayarlamak için bu komutu kullanmak için. Maalesef sistemler sadece onları geliştiren programcılar kadar bilgilidir.
chattrkomutun farkında değildim . Ama beni kastediyordun, "dosya özniteliklerini ve izinlerini karıştırmak", değil mi? AFAICS, DOS nitelikleri hakkında yazdığım her kelime hala doğru.
chattr, Windows inode olmadığı için bir dizin özniteliği olması dışında, üzerinden ayarlanan Linux dosya özniteliklerine karşılık gelir .
chmodWindows'ta doğrudan bir eşdeğer yoktur çünkü "mode" özniteliği gibi bir şey yoktur. Standart Windows dosya özniteliklerinin bununla hiçbir ilgisi yoktur. Salt okunur özelliği bir dosya izni değil. Temelde dosyanın taşla yazıldığını, bu yüzden tüm değişiklik girişimlerinin başarısız olması gerektiğini söylüyor. Linux "değişmez" dosya özniteliği benzer. Windows izinler için yalnızca ACL kullanır, bu nedenle icacls.exe ve benzerleri izinler konusundaki benzer komutlardır.
icacls "C:\folder" /grant:r "Domain\Users":(OI)(CI)M /T /C
Etki alanı kullanıcıları için bir klasördeki izinleri değiştirmek için bir cazibe gibi çalışır. Ek bilgiler ile ilgili caclsve icacls.
attribKomut çok temel şeyler (salt okunur, arşiv bayrakları) için en yakın eşleşme. Sonra ACL (erişim kontrol listesi) komutu var cacls. Son fakat en az değil, Windows aslında Posix uyumlu olduğundan, unix benzeri bayraklar var. Cygwin araç setini kurarsanız, bir chmod. (Biraz konu dışı, bir unix komutunun eşdeğeri aradığınız için, Cgygwin'i indirmek ve yüklemek sizin için ilginç olabilir.)
takeown.exeŞu anda oturum açmış kullanıcı kimliğime dosya izinlerini değiştirmek için Windows komutunu kullanıyorum : http://technet.microsoft.com/en-us/library/cc753024.aspx
Pencerelerde chmod diye bir şey yoktur çünkü Windows'un güvenlik modeli Linux'tan farklıdır. attribNesnelerin özelliklerini değiştirmek için komutu kullanabilirsiniz . (Fakat onlar daha çok küresel mülke yöneliktirler.)