Documentation
¶
Overview ¶
* Package sudoers, postern'in yazacağı sudo kurallarını doğrular. * * ⚠️ NEDEN VAR: "dar bir sudo kuralı yazdım" cümlesi, kuralın dar * OLDUĞU anlamına gelmiyor ve aradaki fark genellikle root demek. * * NOPASSWD: /usr/bin/vim → vim içinden kabuk açılır, root. * NOPASSWD: /usr/bin/less … → less içinde "!/bin/sh", root. * NOPASSWD: /usr/bin/systemctl → `systemctl edit` editör açar, root. * NOPASSWD: /usr/bin/find … → find -exec, root. * * Yani operatör "yalnızca log okusun" diye yazdığı kuralla tam yetki * vermiş olabiliyor ve bunu hiçbir yerde göremiyor. Bu paket o farkı * ÖLÇÜLEBİLİR yapıyor: kural yazılmadan önce reddediliyor ya da * operatörün bilerek onayladığı kaydediliyor. * * ⚠️ BU, HEDEFTEKİ visudo'NUN YERİNE GEÇMİYOR. visudo sözdizimini * doğruluyor — dosyanın sudo'yu bozmamasını sağlıyor. Burası ANLAMI * doğruluyor: sözdizimi kusursuz bir kural pekâlâ root verebilir. * İkisi de gerekli ve ikisi ayrı soru.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type Command ¶
type Command struct {
// Path, MUTLAK yol. Çıplak ad kabul edilmiyor: PATH'e bağlı bir
// kural, PATH'i etkileyebilen herkese o komutu seçtirir.
Path string
// Args, izin verilen SABİT argümanlar. Boşsa komut argümansız
// çalıştırılabilir.
Args []string
}
Command, izin verilen tek bir komut.
type Finding ¶
type Finding struct {
// Command, sorunun bulunduğu komut ("" ise kuralın kendisi).
Command string
// Reason, operatöre okunacak cümle.
Reason string
/*
* Escape true ise sorun "bu komut kabuğa çıkabiliyor" demek ve
* onayla geçilebiliyor. false ise kural YAPISAL olarak sınırsız
* ve onayla bile geçilmiyor.
*/
Escape bool
}
Finding, kuralda bulunan sorun.
type Rule ¶
type Rule struct {
// RunAs, komutun hangi hesapla çalışacağı. Boşsa "root".
RunAs string
Commands []Command
/*
* Acknowledged, operatörün kaçış riskini BİLEREK kabul ettiği.
*
* ⚠️ VARSAYILAN false VE ÖYLE KALMALI. Kaçış riski taşıyan bir
* kuralı sessizce yazmak, "dar yetki verdim" sanan operatöre root
* dağıttırırdı. Onay pozitif kanıt: birinin bunu görüp kabul
* ettiğini söylüyor ve denetim satırına da o şekilde giriyor.
*/
Acknowledged bool
}
* Rule, bir gruba ya da bir JIT hakkına yazılacak sudo kuralı.