Root dahil olmak üzere diğer kullanıcıların belirli bir programı yürütmesini nasıl önleyebilirim?


-1

Debian gibi bir Linux sisteminde, yüklü bir uygulamanın bir şifre girmedikçe diğer kullanıcılar tarafından kullanılmasını nasıl önlerim? Diğer kimlik doğrulama belirteçleri de kabul edilebilir.

Kök dahil olmak üzere diğer kullanıcıların yüklediğim bir uygulamayı kullanmalarını önlemek istiyorum .


3
Üzgünüm, ama zar zor anlaşılırsın.
Larssend

Evet, belki ^ _ ^ - ama yine de, bu iyi bir soru - öyle düşünüyorum.
Frostysh

Soru mantıklı değil: İlk paragrafta "parola olmadan" diyorsunuz, ikinci paragrafta "parola ayarla" diyorsunuz . Ayrıca, kök erişiminden korumak istediğinizi ancak kök şifrenizi görüp görmediğini bilmediğinizi söylüyorsunuz. Bunların hepsi çelişkili ve mantıksız görünüyor. Lütfen sorunuzu düzenleyin ve ne istediğinizi daha dikkatli bir şekilde ifade etmeye çalışın.
RedGrittyBrick 24:15

Mantıksız değil. Ve bu benim için sesne. Koruma oluşturmak istiyorum, ancak root-user bunu kırarsa - önemli değil, en azından başka bir kullanıcının bunu yapmakta zorluk çekmesi :).
Frostysh

@ FrostysShad Yardım istiyorsanız, herkes için mantıklı olmalı . Asıl endişeni ortaya çıkarmaya çalıştım. Lütfen bununla ilgilendiğinizi doğrulayın.
Daniel B

Yanıtlar:


1

Sorunuz hala belirsiz.

  1. “Yüklü bir uygulamanın diğer kullanıcılar tarafından kullanılmasını önlemek” (sizin ve sizin rootharicinizdeki) önlemek istiyorsanız, Jarmund'un cevabının dediği gibi onu 700 (veya 500) olarak koruyun. Bu durmayacak root, ancak “kök kullanıcı [kıracak ”sa - önemli değil” diyorsunuz. “Diğer kullanıcılar” konusundaki konumunuz konusunda net değilim. “Diğer kullanıcıların… yüklediğim bir uygulamayı kullanmalarını engellemek istiyorum” diyorsunuz.

    • Sen istemiyoruz kimse başka programını çalıştırmak için muktedir. Bu bir şifre ile uygulanırsa sorun değil (ki sizin bildiğiniz kimseden değil).
    • Sen istediğiniz seçilen programı çalıştırmak için muktedir diğer kullanıcıları. Seçili kullanıcılara şifreyi söyleyerek yetki vermeye hazırsınız.
    • Sen istediğiniz seçilen programı çalıştırmak için muktedir diğer kullanıcıları. Özellikle seçilen kullanıcılara bir şifre söyleyerek yetkilendirmek istiyorsunuz.

    ?

    İlk mermi ise, sadece chmodçalıştırılabilir olması ve rootbu korumayı atlayabileceği gerçeğiyle yaşamak muhtemelen en kolay olanıdır.

  2. İkinci mermiyse, sisteminizde ACL olup olmadığını kontrol edin. Varsa, yalnızca seçtiğiniz kullanıcıların dosyayı yürütmesine izin veren bir erişim denetim listesi ayarlayın. Tabii ki bu da durmayacak root.

  3. Üçüncü mermiyse - özellikle bir şifre kullanmak istiyorsanız (veya erişimi reddetmek rootsizin için gerçekten önemliyse) - şifreleme gitmenin yoludur. Çalıştırılabilir kodunuzu bir şifreyle şifreleyin, şifrelenmemiş programı sistemden silin ve şifreyi arkadaşlarınıza söyleyin.

    Örneğin, programınız çağrılırsa myprog,

    openssl aes-256-cbc -e -in myprog -out mycode
    

    bu sizden bir şifreleme şifresi (iki kez) isteyecek ve ardından programınızın şifrelenmiş bir kopyasını yazacaktır mycode. (Dışarıda bırakabilirsiniz -e(şifreleyin); varsayılan değerdir.) Daha sonra şöyle bir komut dosyası yazabilirsiniz:

    #!/bin/sh
    clear_prog=$(mktemp)
    chmod 700 "$clear_prog"
    openssl aes-256-cbc -d -in /path/to/mycode -out "$clear_prog"
    "$clear_prog" "$@"
    rm "$clear_prog"
    

    ( -dşifresini çözmek için kullanılır.) root Biri şifresini çözdüğünde programınızın bir kopyasını alma riski vardır .


Vaov! Teşekkürler. Bunun rootonu frenleyebileceğini biliyorum, ama yine de benim için çok işe yarayacağını düşünüyorum. Linux SCRIPTING :) hakkında birkaç kitap okumam gerekiyor. Ve bu, KERNEL'de bazı şeyleri şifreleyebileceğim bazı şeyler içermesi harika. Ve chmod opensslel kitaplarına ihtiyacım var ...
Frostysh

Bu işe yarıyor, şimdi locatekomut ve opensslşifrelemeyi birleştirmek için komut dosyalarının nasıl kullanılacağını öğrenmem gerekiyor .
Frostysh

3

İhtiyacınızla ilgili en zor kısım, aynı zamanda root çalıştırmasını engellemek istemenizdir. Temel olarak, bir kök kullanıcı bir sistemde ne isterse yapabilir, sonuçta yapmaları gerekir. Bu yeteneği olmayan bir kök kullanıcı, çalıştıkları binanın anahtarı olmayan bir güvenlik görevlisi veya hademe gibidir.

Ancak, diğer kullanıcıların yürütülebilir dosyayı çalıştırmalarını engelleme chmod, söz konusu dosyanın sahipliğini sağlamanız koşuluyla sağlanabilir chmod 700 /some/executable/file. Bu, dosyanın sahibine (çalıştırılabilir) tüm izinleri (okuma / yazma / yürütme) verir ve sistemdeki diğer kullanıcılara hiçbiri vermez. Bir kişinin yalnızca çalıştırma iznini kaldırması gerekebileceğini düşünmek sezgisel olsa da, kullanıcı yine de yürütülebilir dosyayı kendi dizinine kopyalayıp yeniden çalıştırılabilir hale getirebilir. Bu nedenle okuma izninin de kaldırılması gerekecek.


1
Kökün kendi güçlerini “iptal edebildiği” tuhaf bir dünya olurdu , bu da aslında OP'nin başarmak istediği şeydi. Bu kendi omnipotensini azaltmaya çalışan bir Tanrı gibi olur. OP'nin probleminin çözümü kullanıcıları ve izinleri doğru şekilde yönetmektir. Birisinin kök olması gerekir , böylece hassas uygulama ilk etapta kurulabilir. Diğer tüm kullanıcılar, gerektiğinde belirli izinlere sahip normal kullanıcılar olmalıdır.
misha256

Garip bir dünyada yaşıyoruz. Windows'ta, yönetici, sahiplerinin özel dosyalarını sahiplenmeden okuyamaz, hatta yönetici bile SYSTEM veya TrustedInstaller'ın sahip olduğu dosyalarla ilgili sorun yaşar. Windows sistemlerini, kullanıcıların kendi dosyalarındaki izinleri değiştirmelerine izin vermeyen dosya sunucuları kullanarak kullandım. Yeni çıkmış Unix'lerin bazılarında (örneğin, SELinux), gücünü bile kısıtlayabilirsiniz root. Sonra cevabımı gör.
G-Man

Teşekkürler, OpenSSL şifrelemeyle birlikte deneyeceğim - Belki onu Çekirdekte bulmalı ve bunun ne olduğunu görmeliyim ^ _ ^. Kahretsin, hepsi çok zor, pek çok kural, Windows daha
basitti

1

Kök dahil olmak üzere diğer kullanıcıların yüklediğim bir uygulamayı kullanmalarını önlemek istiyorum.

Dosyanın sahibini ve sahip olduğu grubun uygun şekilde ayarlanması, bunun yanı sıra, chmodistenmeyen kullanıcıların rootdosyayı yürütmesini engeller . Not diğer kullanıcıların dosyayı okumak, ama eğer bunu çalıştırmak olduğunu, hala bunu kopyalayabilir ve değiştirmek xDevre dışı bırakmak zorunda kendi kopyasında biraz rile iznine xsen yürütülmesini engellemek istiyorsanız izni.

Sen tarafından yürütülmesine engel olamaz rootgibi olsa, yukarıdaki mekanizma ile rootcan chmodherhangi bir dosyayı da herhangi bir şey için sahibi ve sahibi grubunu değiştirebilir. rootBir dosyayı yürütmesini kesinlikle önlemenin tek yolu , sistemde hiç olmamasıdır.

Yürütülebilir dosyayı şifreli bir birimde depolayarak ve yürütücüyü çağırmadan hemen önce kilidini açıp hemen sesini kapatarak buna yaklaşabilirsiniz. Bununla birlikte, bir rootişlem , başka bir işlemin yürütme görüntüsünü, üzerinden okuyabilir; /procbu nedenle, başka bir rootişlem için yürütülebilir dosyayı bellekten kopyalamak teorik olarak mümkündür . Linux'un bu davranışını bir çekirdek derleme seçeneğiyle değiştirmenin mümkün olup olmadığından emin değilim, eğer öyleyse, bu dikkate alınması gereken bir şey olabilir.

Güvenerek giriş yaptığınız kişiler rootveya çalışan gibi güvenilmeyen işlemleriniz rootvarsa, bunun yerine bu sorunları gerçekten çözmeniz gerekir. Sanallaştırmaya bakabilir ve sisteminizin güvenilmeyen bölümünü kendi VM'sinde yakalayabilirsiniz.


Evet, kök olabilir zaman iyi değil - badguy :(. Ama bu benim durumum, - makine benim, ama bazen tuhaf bir alışkanlıkları var ve makinemin hack olup olmadığını nasıl kontrol edeceğimi bilemiyorum - coz 'Acemi değilim, ama toplulukta çözümü buldum :).
Frostysh
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.