Saya perlu mengatur izin baca dan tulis untuk root
pengguna ke direktori subfolderN
dan semua folder induknya hingga root
.
Saya bisa melakukannya dengan tangan:
$ sudo chmod +rx /root/subfolder1/subfolder2/subfolderN
$ sudo chmod +rx /root/subfolder1/subfolder2
$ sudo chmod +rx /root/subfolder1
$ sudo chmod +rx /root
Tetapi jika N
besar saya lelah. Bagaimana melakukannya secara otomatis dengan satu perintah?
permissions
directory
Maxim Yefremov
sumber
sumber
/root
dunia mudah dibaca.Jawaban:
Ini dapat dilakukan dengan mudah di shell, mulai dari subdir dan bergerak ke atas:
Ini dimulai dengan file / direktori apa pun yang Anda atur juga, dan bekerja pada setiap direktori induk, hingga bertemu "/" (atau apa pun yang Anda atur dalam kondisi loop ke). Itu tidak chmod "/".
sumber
f
adalah jalan relatif, dan saya ingin berhenti pada apa yang relatif terhadap bukan/
?$f
adalahfoo/bar
, akan$f
pernah berubah ke.
? Ya,dirname
benar. Terima kasihDengan
csh
,tcsh
,ksh
,zsh
,bash
,fish
atauyash -o braceexpand
:Dengan
zsh
:Atau Anda dapat mendefinisikan fungsi glob kualifikasi seperti:
Untuk digunakan misalnya sebagai:
Perhatikan bahwa
chmod +rx
dipengaruhi oleh umask. Jika Andaumask
tidak termasuk007
, itu akan membuat/root
direktori tersebut dapat dibaca dan diakses oleh dunia yang merupakan ide yang buruk./root
biasanya untuk hal pribadi pengguna super, itu ide yang buruk untuk mengeksposnya.sumber
,
di{,/subfolder}
dilakukannya?/subfolder
; jadi/root{,/subfolder}
hasilkan/root
dan/root/subfolder
sh
Nah, Anda bisa melakukan sesuatu yang sedikit lebih kompleks seperti:
Untuk melihat apa yang akan dilakukan, ganti
chmod
panggilan dengan cetak:sumber
Saya tidak tahu apa yang Anda coba lakukan, tetapi lebih baik daripada Anda tidak menganggap enteng rekursif . Yang mengatakan, baca jawaban yang sebenarnya:
Umm ... kenapa tidak pakai saja secara rekursif.
Atau jika Anda tidak menyukainya, Anda dapat memberikan
chmod
beberapa direktori:sumber
chmod -R /root
mengubah segalanya di bawah/root
- termasuk file biasa dan semua direktori. Pertanyaannya adalah tentang mengubah satu rantai direktori saja.