Liman üzerinde sunucular sayfasına yeni sekme eklenmesi
Mustafa AKBEL
Posted on July 21, 2020
Bu yazıda Liman MYS'de bulunan bir Linux sunucu üzerindeki kullanıcının, sudo yetkisinin kontrolü nasıl yapılır onu anlatacağım.
İlk olarak sunucular sayfasına yeni bir tab sekmesi eklenir. Ancak eklerken dikkat edilmesi gereken nokta sunucu tipinin Linux olduğu kontrol edilmelidir. Liman'da bu kontrol aşağıdaki gibi yapılmaktadır.
@if(server()->type == "linux_ssh" || server()->type == "linux_certificate")
Ardından if içeriğine tab sekmesi oluşturulur. Onclick özelliğine javascript fonksiyon ismi yazılır.
Bu javascript fonksiyonunda bir request gönderilir. Request'in gönderimi aşağıda verilmiştir.
let data = new FormData();
request('{{route('server_user_permission')}}', data, function (response) { }
Bu request isteği aşağıdaki gibi sunuculara ait route işlemi ile kullanacağımız controller sayfası ve fonksiyonu belirterek gerekli fonksiyona yönlendirme yapılır. Aşağıda route işlemi gösterilmiştir.
Route::post('/sunucu/userpermission', 'Server\OneController@getUserPermission')->name(
'server_user_permission'
);
Gerekli controller sayfasına giderek kullanacağımız fonksiyonu oluştururuz. Fonksiyon aşağıda verilmiştir.
public function getUserPermission(){
$output = server()->run(
sudo() . "-v"
);
if(empty($output)){
$output = true;
}else{
$output = false;
}
return [
"result" => 200,
"data" => $output,
];
}
Aldığımız sonucu javascript'te işleyerek kullanıcının sudo yetkisinin olup olmadığını arayüze aktarırız.
let output = JSON.parse(response);
if(output.data){
result = "Server kullanıcısının sudo yetkisi vardır"
classname = "alert alert-success"
}else{
result = "Server kullanıcısının sudo yetkisi yoktur"
classname = "alert alert-danger"
}
$('#serverUserPermissionDiv').html(result);
$('#serverUserPermissionDiv').addClass(classname);
Sonuç olarak aşağıdaki çıktı elde edilir.
Posted on July 21, 2020
Join Our Newsletter. No Spam, Only the good stuff.
Sign up to receive the latest update from our blog.