Yanıtlar:
Greg , bahsetti attrib
- ama attrib
yakın bir yerde değil chmod
- attrib
tek bir dosyanın Salt Okunur / Gizli özniteliklerini ayarlayabilir - aynen iyi ayarlanmış kontroller icacls
sağlamaz.
icacls
Eriş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.
/t
tüm dosyalarda, klasörlerde ve alt klasörlerde tekrar tekrar hareket eder , bir hata durumunda bile kalan dosyalarla devam eden
/q
baş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 .x
DOS / 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 , w
tüm eksiklerin özniteliği gibidir ; ancak bu niteliği değiştirme izni ACL'ye tabidir.
Windows'ta bir chmod
/ chown
eşdeğerine sahip olmak harika olabilir , belki de bazı kodlama dillerinde yazılmış, ki bunlar sırasıyla aramalar attrib
ve cacls
(veya halefler) olabilir, ama bende yok.
CAP_LINUX_IMMUTABLE
iş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.
chattr
komutun 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 .
chmod
Windows'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 cacls
ve icacls
.
attrib
Komut ç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. attrib
Nesnelerin özelliklerini değiştirmek için komutu kullanabilirsiniz . (Fakat onlar daha çok küresel mülke yöneliktirler.)