Ya, dan RHEL7.4 adalah 3.10.0, jadi saya tidak mengerti komentar tentang 4.7.
hagello
Benar, beberapa kernel lama tidak memberikan info tentang umask, misalnya 2.6.18. Namun, fitur tersebut sudah ada di 3.10.0. Jadi, Anda seharusnya tidak mengatakan bahwa solusi ini tidak berfungsi sebelum kernel 4.7.
hagello
Stéphane cukup baik untuk mengedit posting saya untuk menautkan ke komit yang dengan jelas mengatakan ketika ditambahkan, itu jauh lebih baru dari 3,10. Mungkin itu muncul jauh lebih awal di patch RHEL yang ditambal, tetapi belum di kernel arus utama, saya tidak tahu.
egmont
15
Catatan: jawaban ini berlaku untuk kernel Linux 4.6 dan sebelumnya. Lihat @ egmont jawaban untuk versi kernel yang lebih baru.
Umask tidak terekspos dalam proksi. Ada upaya untuk menambahkannya tanpa banyak keberhasilan.
Ada cara untuk menggunakan umask gdb, seperti yang telah dijelaskan di sini sebelumnya :
Alternatif lain adalah, jika Anda dapat mengontrol proses yang sedang berjalan, untuk menulis umask ke file, output atau yang serupa dan mendapatkannya dari sana.
Hanya saja jawaban ini juga muncul ketika mencari istilah-istilah tersebut di Google, ia juga menjelaskan cara memodifikasi umask dari proses yang sedang berjalan (karena untuk mendapatkannya diperlukan untuk sementara waktu mengubahnya). Saya awalnya menolaknya saat mencari ini.
Hugues M.
4
Di Linux, dengan systemtap(as root), Anda bisa melakukannya
Melakukan suatu cat /proc/4321/statakan memicu penyelidikan itu di do_task_statmana kita dapat mengakses fs->umaskbidang proses yang sesuai ' task_structdi kernel.
Jawaban:
Dimulai dengan kernel Linux 4.7 ( komit ), umask tersedia di
/proc/<pid>/status
.sumber
Catatan: jawaban ini berlaku untuk kernel Linux 4.6 dan sebelumnya. Lihat @ egmont jawaban untuk versi kernel yang lebih baru.
Umask tidak terekspos dalam proksi. Ada upaya untuk menambahkannya tanpa banyak keberhasilan.
Ada cara untuk menggunakan umask
gdb
, seperti yang telah dijelaskan di sini sebelumnya :Perlu diingat bahwa gdb menghentikan proses dan utasnya, sehingga perubahan sementara umask dapat diabaikan.
Jika itu cocok untuk kasus Anda, Anda dapat menggunakan oneliner ini:
Alternatif lain adalah, jika Anda dapat mengontrol proses yang sedang berjalan, untuk menulis umask ke file, output atau yang serupa dan mendapatkannya dari sana.
sumber
Di Linux, dengan
systemtap
(asroot
), Anda bisa melakukannyaMelakukan suatu
cat /proc/4321/stat
akan memicu penyelidikan itu dido_task_stat
mana kita dapat mengaksesfs->umask
bidang proses yang sesuai 'task_struct
di kernel.sumber