Kemampuan file (setcap) tidak diterapkan di Linux Mint 17.1


2

Saya sudah mencoba mendapatkan aplikasi untuk berjalan dengan baik, tetapi tampaknya tidak dapat menemukan antarmuka jaringan. Ini dirancang untuk berjalan tanpa hak administratif, dan karenanya memerlukan kemampuan file tertentu. Namun, masih tidak dapat menemukan antarmuka jaringan apa pun melalui libpcap.

Saya mencoba skrip sederhana untuk mereplikasi perilaku menggunakan libpcap ke daftar antarmuka jaringan untuk menguji masalahnya:

#include <stdio.h>
#include <pcap.h>

int main(int argc, char *argv[]) {
    char *dev, errbuf[PCAP_ERRBUF_SIZE];

    dev = pcap_lookupdev(errbuf);
    if(dev == NULL) {
        printf("Error: %s\n", errbuf);
        return(2);
    }

    printf("Device: %s\n", dev);
    return(0);
}

Menerapkan kemampuan file dan memverifikasi bahwa itu diterapkan,

$ sudo setcap cap_net_raw,cap_net_admin=eip pcap_test
$ getcap pcap_test
pcap_test = cap_net_admin,cap_net_raw+eip

Masih tidak dapat menemukan antarmuka jaringan apa pun meskipun mengklaim memiliki izin yang benar. Berjalan sebagai pengguna super bekerja tanpa masalah, tentu saja.

$ ./pcap_test
Error: no suitable device found
$ sudo ./pcap_test
Device: eth0

Melewati urutan identik ini berfungsi seperti yang diinginkan di bawah Ubuntu 14.04 (dengan versi kernel 3.13.0-35-generik dan juga versi sebelumnya), tetapi saya belum dapat membuatnya bekerja di bawah Mint 17 atau 17.1 (dengan versi kernel 3.13.0-24-generik).

Apakah ada perubahan pada kernel yang memengaruhi kemampuan file? Apa pun yang relevan yang saya temukan online berusia beberapa tahun dan mengacu pada kernel yang sudah usang. Terima kasih!

Jawaban:


0

Masalah ini ternyata disebabkan oleh fakta bahwa saya sedang mengerjakan partisi rumah yang dipasang dengan nosuidopsi. Saya tidak menyadari bahwa opsi ini membatasi hak akses root melalui kemampuan file.

Menerapkan kemampuan file dan berjalan dari partisi root saya (dipasang tanpa nosuidopsi) bekerja sesuai keinginan.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.