Tampaknya setiap kali saya membuat file dengan touch
izin diatur ke: -rw-r - r-- .
Apakah ada cara saya dapat mengkonfigurasi izin dengan touch
atau apakah ini harus dilakukan setelah dengan perintah yang berbeda?
Tampaknya setiap kali saya membuat file dengan touch
izin diatur ke: -rw-r - r-- .
Apakah ada cara saya dapat mengkonfigurasi izin dengan touch
atau apakah ini harus dilakukan setelah dengan perintah yang berbeda?
Jawaban:
Anda dapat memodifikasi Anda umask
untuk mengizinkan (untuk sebagian besar implementasi) lebih banyak hak baca / tulis, tetapi tidak dapat dieksekusi, karena umumnya izin yang diminta adalah 0666
.
Jika Anda umask
adalah 022
, Anda akan melihat touch
membuat 0644
berkas.
Menariknya, POSIX menjelaskan perilaku ini dalam hal creat
:
Jika file tidak ada:
Fungsi creat () dipanggil dengan argumen berikut:
Operan file digunakan sebagai argumen path.
Nilai dari bitwise-inclusive OR dari
S_IRUSR
,S_IWUSR
,S_IRGRP
,S_IWGRP
,S_IROTH
, danS_IWOTH
digunakan sebagai argumen modus.
dan hanya dengan mengikuti tautan ke creat
, lalu ke open
, memperhatikan penyebutan umask
dan pelacakan-kembali ke open
(dan creat
) untuk memverifikasi yang umask
seharusnya memengaruhi touch
.
Untuk umask
hanya memengaruhi touch
perintah, gunakan subkulit:
(umask 066; touch private-file)
(umask 0; touch world-writable-file)
touch file-as-per-current-umask
(perhatikan bahwa bagaimanapun juga, jika file tersebut ada sebelumnya, touch
tidak akan mengubah izinnya, cukup perbarui stempel waktunya).
Anda dapat memanipulasi umask
. Secara umum diatur ke 022
yang berarti ketika pengguna membuat file, itu akan mendapatkan izin 0644
, Anda dapat memanipulasi umask
sesuai dengan kebutuhan Anda.