Apakah ada Windows yang setara dengan Linux chmod
untuk mengubah izin file?
sumber
Apakah ada Windows yang setara dengan Linux chmod
untuk mengubah izin file?
Greg menyebutkan attrib
- tetapi attrib
tidak dekat dengan mana pun chmod
- attrib
dapat mengatur atribut Read-only / Hidden dari satu file - itu tidak memberikan kontrol yang halus seperti icacls
halnya.
icacls
set / reset daftar kontrol akses, sehingga Anda dapat memberikan / menolak hak untuk SID & grup individu. Ini cukup rumit.
Inilah contoh yang saya simpan di github gist saya ; itu me-reset daftar kepemilikan dan kontrol akses untuk semua file dalam folder dan sangat berguna untuk memperbaiki mereka yang mengganggu "Anda memerlukan izin dari .. untuk melakukan tindakan ini" terutama ketika memindahkan file dari instalasi sebelumnya:
icacls * /reset /t /c /q
Reset menggantikan yang sudah ada dengan daftar default.
/t
bertindak secara rekursif pada semua file, folder & subfolder
/q
tidak menampilkan pesan sukses
/c
berlanjut dengan file yang tersisa bahkan dalam kesalahan terjadi.
Anda juga dapat melakukan hal-hal seperti mencadangkan ACL yang ada & menerapkannya di semua. Lihat ss64 yang menjelaskan berbagai opsi & switch dengan sangat baik.
cmd
yang Anda dapatkan dengan menekan [Win] + [R] tidak memiliki ini. Untuk kebutuhan khusus seperti itu, saya memiliki pintasan "Admin shell", dengan "Jalankan sebagai administrator" (atau serupa; Saya menggunakan sistem Windows Jerman) diperiksa (dan dengan warna latar belakang merah gelap).Baik cacl , xcacls , atau icacls favorit pribadi saya mungkin akan melakukan apa yang Anda butuhkan.
sumber
icacls
hanya tersedia di Vista / 7.Ada (sayangnya) tidak bisa menjadi setara persis, karena Linux dan DOS / Windows menggunakan atribut untuk tujuan yang berbeda, dan (seperti yang dikatakan Chathuranga sebelumnya) model keamanannya berbeda:
H
) dan "system" (S
) yang tidak memiliki padanan di Linux; di sana, file disembunyikan dengan mengawali nama dengan titik (.
).A
atribut "archive" ( ) Windows .x
atribut "executable" ( ) Linux di atribut file DOS / Windows.D
) atribut (tetapi tidak dapat diubah pula).Atribut file DOS
R
(read-only) adalah atribut yang mungkin dianggap memiliki yang setara: set atribut ini kira-kira sepertiw
atribut untuk semua yang hilang; tetapi izin untuk mengubah atribut ini tunduk pada ACL.Mungkin keren untuk memiliki
chmod
/chown
setara pada Windows, mungkin ditulis dalam beberapa bahasa scripting, yang pada gilirannya memanggilattrib
dancacls
(atau penerus), tetapi saya tidak memilikinya.sumber
CAP_LINUX_IMMUTABLE
proses), sedangkan akses untuk menetapkan atribut pada Windows adalah semua atau tidak sama sekali. Ini adalah kesalahan umum dalam implementasichmod
untuk Windows untuk menggunakan perintah ini untuk mengatur atribut file read-only. Sayangnya sistem hanya diinformasikan sebagai programmer yang mengembangkannya.chattr
perintah itu. Tapi Anda tidak bermaksud saya, untuk "membingungkan atribut file dan izin", kan? AFAICS, setiap kata yang saya tulis tentang atribut DOS masih benar.chattr
, kecuali Windows memiliki atribut direktori karena tidak ada inode.chmod
di Windows karena tidak ada yang seperti atribut "mode" file. Set atribut file Windows standar tidak ada hubungannya dengan ini. Atribut read-only bukan izin file. Pada dasarnya dikatakan bahwa file tersebut ditulis dalam batu, jadi semua upaya untuk memodifikasinya harus gagal. Atribut file "tidak berubah" Linux adalah serupa. Windows hanya menggunakan ACL untuk izin, jadi icacls.exe dan sejenisnya adalah satu-satunya perintah serupa pada subjek izin.Bekerja seperti pesona untuk mengubah izin pada folder untuk pengguna domain. Informasi tambahan tentang
cacls
danicacls
.sumber
The
attrib
perintah adalah pertandingan terdekat untuk hal-hal yang sangat mendasar (read-only, bendera arsip). Lalu ada perintah ACL (daftar kontrol akses)cacls
. Last but not least, karena Windows benar-benar memenuhi persyaratan Posix, flag mirip unix memang ada. Jika Anda menginstal perangkat Cygwin, Anda akan mendapatkanchmod
. (Sedikit di luar topik, karena Anda mencari yang setara dengan perintah unix, mengunduh dan menginstal Cgygwin mungkin sesuatu yang menarik untuk Anda.)sumber
Saya menggunakan perintah Windows
takeown.exe
untuk mengubah izin file ke id pengguna saya yang sekarang login: http://technet.microsoft.com/en-us/library/cc753024.aspxsumber
Tidak ada yang disebut chmod di windows karena model keamanan Windows berbeda dari Linux. Anda dapat menggunakan
attrib
perintah untuk mengubah properti objek. (Tapi mereka lebih mengarah pada properti global.)sumber
Bagi saya, solusinya adalah menginstal Cygwin, dan menambahkan folder bin-nya ke jalur sistem. Kemudian, jika Anda menjalankan "chmod" di baris perintah, itu akan berhasil. Meskipun saya belum memverifikasi kebenarannya.
sumber