16109

Becerikli
Katılım
23 Ocak 2025
Mesajlar
437
Makaleler
1
Çözümler
2
Beğeniler
312
Arkadaşlar Linux'taki disk erişim programları örnek olarak Gparted, Gnome Disk Utility bence normal haliyle çok yetki istemiyor. Bu rahatsız edici.

Mesela Gpartered ile deneme amaçlı diğer disklerimi silim dedim, şifre falan istemedim ve sildi. Bu birazcık güvenlik sorunu yani. Gnome Disk Utility'de en azından bir kere şifre istiyor ama sonrasında istemiyor hiç.

Şu kodu rules yoluna ekledim denedim ve polkit'i yeniledim. Gnome Disk Utility'i engelliyor ve bağlamasına bile izin vermiyor istediğim gibi ama Gparted'ı engellemiyor.

Kod:
polkit.addRule(function(action, subject) {
  if (action.id.indexOf('org.freedesktop.udisks2') == 0 &&
      !subject.isInGroup('root')) {
    return polkit.Result.NO;
  }
  return polkit.Result.YES;
});
 
Hayır. Bir kere sudo parolası girdiğin zaman uygulamaya yönetici olma yetkisi veriyorsun. Windows'daki UAC onayı gibi düşün. Windows'da bir uygulamaya bir kere yönetici yetkisi verdin mi, uygulama hem "Administrator" kullanıcısında çalışır hem de kendisinden hariç yönetici farklı uygulamalar bile çalıştırabilir. "Administrator" hesabını da Linux'deki "root" kullanıcısına benzediğini bir bakımdan kabul edebiliriz.

Program bir kere yönetici yetkisi aldı mı bir sonraki işlemlerde onayı alıp almamak tasarlandığı biçime bağlıdır. Ayrıca bu diskleri sisteme bağladığın kullanıcı hesabıyla ilgili bir durumdur. Kimi disklerde bunu anlattığın gibi yapamazsın.

Örneğin, geliştirmekte olduğum T.Frame() projesinde T.User_IsAdmin değişkeni 3 değer alabilir.

Kod:
0: Kullanıcı yönetici değil.
1: Kullanıcı yönetici. (root/administrator yetkisi verildi)
2: Kullanıcı yönetici. Ancak doğrulama gerekiyor. (sudo parolası/UAC onayı)

İşte izin istemedeki iki farklı platformdaki benzerlik: (pkexec vs UAC)

1739308661711.webp
1739308626404.webp


Eğer parola olmayan ancak yönetici olabilme yetkisine sahip bir kullanıcıda isen, bu pencereler parola sormak yerine "Evet" "Hayır" şeklinde cevap verebileceğiniz soru çıkar.

(Bu durum, dağıtım veya yönetici yapılandırması ile devre dışı da bırakılabilir. Örneğin, Debian tabanlı Raspberry Pi OS'da yönetici yetkisi almak için parola ve onay gerekmiyor. Tabi bu durumda Windows'da yönetici olarak UAC'ı kapatabilirsiniz. Bu işlemleri önermiyorum.)
 
Son düzenleme:
@Hasan Merkit
Tamam ama diyelim Gnome Disk hadi bir kere istiyor ve o Gnome Disk'i kapatana kadar yetkisi oluyor ama Gparted hiç şifre istemiyor ve diski formatlamada falan yetki istemeden formatlıyor. Yetki ayarları falan mı bozuldu?

Hesabım normal sudouser hesabı. Wheel grubundaki hesap. Yani herhangi bir dağıtımda kullanıcı adı ve şifresini kurulum ekranında oluşturduğunuz hesap yani.
 
@Hasan Merkit
Tamam ama diyelim Gnome Disk hadi bir kere istiyor ve o Gnome Disk'i kapatana kadar yetkisi oluyor ama Gparted hiç şifre istemiyor ve diski formatlamada falan yetki istemeden formatlıyor. Yetki ayarları falan mı bozuldu?

Kullandığınız dağıtıma bağlı bir durum olabilir.

Bu durum, dağıtım veya yönetici yapılandırması ile devre dışı da bırakılabilir.

Bazı varsayılan yapılandırmalar dağıtım tarafından belirlenir. Örneğin, 2021 yılında yazdığım dağıtımda her başlangıçta "pilux_update.service" şeklinde servis tasarladım. Bu servis, her istediği zaman root yetkileri ile çalışabiliyordu.
 
Anlamadığım konu: GParted açılışta şifre istiyor mu, istemiyor mu? Eğer istemiyorsa, ya bir sorun var ya da dağıtım onu bilerek öyle ayarladı. Pek sorun değil, Linux bu; onu da farklı ayarlarız.
 
Anlamadığım konu: GParted açılışta şifre istiyor mu, istemiyor mu? Eğer istemiyorsa, ya bir sorun var ya da dağıtım onu bilerek öyle ayarladı. Pek sorun değil, Linux bu; onu da farklı ayarlarız.
İstemiyordu ve disk formatlarken falan da istemiyordu. Belki bu dağıtıma özeldir, ondan. Tamam disk başka bir bilgisayarda gayet rahat formatlanabilir ama burada böyle bir durum olması birazcık kötüydü bence.

Ama çözdüm, Polkit kuralı ekledim. Birazcık araştırma ile Linux'ta mount, umount, udisk servisini falan yetkilendirebiliyorsun.