[[oktatas:linux|< Linux]] ====== Capability ====== * **Szerző:** Sallai András * Copyright (c) 2011, Sallai András * Szerkesztve: 2011, 2012, 2013 * Licenc: [[https://creativecommons.org/licenses/by-sa/4.0/|CC BY-SA 4.0]] * Web: https://szit.hu ===== Bevezetés ===== A capability szabályozza az objektumokhoz való hozzáférést a folyamatok számára. A capability [UK: ˌkeɪpəˈbɪlɪti] jelentése adottság, képesség. ===== Szükséges csomag, körülmények ===== apt-get install libcap2-bin Szükség van megfelelő kerneltámogatásra. A Debian GNU/Linux 6.x és 7.x alapértelmezetten támogatja, de nézzünk utána. A kernel beállításai a Debian GNU/Linux a /boot könyvtárban tárolja: grep '\(XATTR\|CAPA\)' /boot/config-`uname -r` Az eredmény: CONFIG_EXT2_FS_XATTR=y CONFIG_EXT3_FS_XATTR=y CONFIG_EXT4_FS_XATTR=y CONFIG_REISERFS_FS_XATTR=y CONFIG_JFFS2_FS_XATTR=y CONFIG_UBIFS_FS_XATTR=y CONFIG_CIFS_FS_XATTR=y CONFIG_SECURITY_FILE_CAPABILITIES=y ===== Adottságok, képességek ===== ^ Adottság neve ^ Jelentés ^ | CAP_AUDIT_CONTROL | A kernel auditálásának engedélyezése, tiltása | | CAP_AUDIT_WRITE | Rekordok írása a kernel auditálónaplójába | | CAP_CHOWN | Engedélyezi a fájl tulajdonosának cseréjét | | CAP_DAC_OVERRIDE | Minden DAC hozzáférés felülírása | | CAP_DAC_READ_SEARCH | Minden olvasás és keresés DAC jog felülírása | | CAP_FOWNER | Jogok automatikus megadása uid és gid alapján \\ kivéve azokat műveletek amelyek CAP_DAC_OVERRIDE \\ és CAP_DAC_READ_SEARCH hatálya alá esnek \\ fájlkiterjesztések beállíthatók (chattr) ACL-el beállíthatók \\ fájltörléskor a sticky bit figyelmen kiívülhagyása \\ Fájlkiterjesztéseken O_NOATIME beállítása open(2) és fcntl(2) közben | | CAP_KILL | Jelzések küldésének megengedése a folyamatok tulajdonosának és másoknak | | CAP_LINUX_IMMUTABLE | A nem változtatható és csak hozzáfűzésre megnyitható \\ fájlok módosításának engedélyezése | | CAP_NET_BIND_SERVICE | Porthoz kapcsolódás engedélyezése 1024 alatt | | CAP_NET_RAW | Raw socket használatának engedélyezése | | CAP_SETGID | A GID cseréjének megengedése | | CAP_SETUID | Az UID cseréjének megengedése | | CAP_SETPCAP | Minden aktuális PID másolásának és törlésének engedélyezése | | CAP_NET_ADMIN | Különböző hálózati tevékenységek engedélyezése \\ Például: kiemelt socket tulajdonságok, \\ multicast engedélyezése, \\ hálózati kártya konfigurálása, \\ a routing tábla változtatása). | ===== Használat ===== setcap cap_net_admin=ep /bin/ping Ellenőrizzük. Próbáljunk meg saját hálózatunkat pingetni. Például: ping 192.168.5.1 Ellenőrizzük a beállításokat: getcap /bin/ping /bin/ping = cap_net_admin+ep A beállítások törlése: setcap -r /bin/ping ===== Irodalom ===== ==== Kézikönyvek ==== man setcap man capabilities ==== Linkek ==== * http://www.kernel.org/pub/linux/libs/security/linux-privs/kernel-2.2/capfaq-0.2.txt * http://www.symantec.com/connect/articles/introduction-linux-capabilities-and-acls * http://en.wikipedia.org/wiki/Capability-based_security * http://www.friedhoff.org/posixfilecaps.html * http://codex.wordpress.org/Roles_and_Capabilities