DEV Community

Mustafa AKBEL for Liman

Posted on

2

Liman üzerinde sunucular sayfasına yeni sekme eklenmesi

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")
Enter fullscreen mode Exit fullscreen mode

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) { }
Enter fullscreen mode Exit fullscreen mode

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'
);
Enter fullscreen mode Exit fullscreen mode

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,
    ];
}
Enter fullscreen mode Exit fullscreen mode

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);
Enter fullscreen mode Exit fullscreen mode

Sonuç olarak aşağıdaki çıktı elde edilir.

Alt Text

Do your career a big favor. Join DEV. (The website you're on right now)

It takes one minute, it's free, and is worth it for your career.

Get started

Community matters

Top comments (0)

Sentry image

See why 4M developers consider Sentry, “not bad.”

Fixing code doesn’t have to be the worst part of your day. Learn how Sentry can help.

Learn more

👋 Kindness is contagious

Discover a treasure trove of wisdom within this insightful piece, highly respected in the nurturing DEV Community enviroment. Developers, whether novice or expert, are encouraged to participate and add to our shared knowledge basin.

A simple "thank you" can illuminate someone's day. Express your appreciation in the comments section!

On DEV, sharing ideas smoothens our journey and strengthens our community ties. Learn something useful? Offering a quick thanks to the author is deeply appreciated.

Okay