Yanıtlar:
Neyi başarmak istediğinize bağlı olarak, bu işi yapmanın farklı yolları olabilir (veya en azından istediğiniz işlevselliğin kesin bir kesimini verin).
Yazılımın birçok şekilde kurulması, kaynakları kullanılabilir duruma getirmek veya sistemde zaten mevcut olan şeylere erişime izin vermekle ilgilidir.
Yazıcılara erişim izni vermek veya bir kullanıcının belirli bir dizinde programları yürütmesine izin vermek konusunda konuşsanız da, bunu başarmanın yolları vardır ve Ubuntu'da yerel olsalar bile, bu tür çözümler genellikle (elbette) Bir .deb kurulum gerçeğinden sonra eklenecek.
İşte eklenebilecek iki genel kurulum sonrası kontrol sınıfı. Doğru ortam göz önüne alındığında, örneğin sıkı bir şekilde kontrol edilen bir grup politikası uygulandığında, temel sistemi yerine getirdikten sonra bunun daha kolay olabileceğini unutmayın. Bu tür izinler LDAP'ye veya kullanıcı başına veya grup kimlik doğrulaması ve yetkilendirme verebilecek benzer bir sisteme bile bağlanabilir.
Görünürlük kontrolü
Belki de kendime biraz benzer bir durum yaşadım, fakat benim durumumda kullanıcılar (henüz) çok karmaşık değildi (hepsi 7 yaşın altındaydı). Benim için sadece Gnome menülerini gizlemek ve masaüstü rampalarını kaldırmak çalıştı.
Yürütülebilir bit'in dizinlerden çıkarılması, işlemlerin onları arama veya geçiş kabiliyetini ortadan kaldırır. Onları etkin bir şekilde görünmez hale getirebilir ve kullanıcı açısından kullanılamaz hale getirebilir. Örneğin, dosya erişimine dayalı menüler oluşturan varsayılan bir sistem politikanız varsa, bu tür bir kozmetik çözümü uygulayabilir ve daha sonra ek bir çaba göstermeden sonraki yüklemelerde çalışmasını sağlayabilirsiniz.
Yürütme kontrolü
Kaynağın kontrolü Unix izinleri, apparmor profilleri, SELinux izinleri vb. İle yapılabilir. Uygulamaya bağlı olarak devreye girebilecek başka kontrol filtreleme seviyeleri olabilir. Daha fazla hedefli çözüm yoksa, kullanıcıyı kontrol etmek veya erişimi kontrol etmek için belirli programların etrafına sarmalayıcılar yazmanız gerekebilir.
Eh dpkg
bu da tasarım amacı olmadığı için size yardımcı olmayacaktır. Bir sistemde kurulu bir kök paket nüfus sayımı olmak istiyor.
Aklıma gelen tek şey sadece paketi çıkarmak ve dosyaları el ile giriş dizinine yerleştirmeye çalışmak.
Ancak bu sadece bazı şeyler için çalışacaktır. Çok sayıda paket, parçalara ayrılır (çalıştırılabilir veya komut dosyaları /usr/bin
, kitaplıklar /lib
ve diğer kıyafetler /usr/share
, vb.) Ve bu konumlar derleme komut dosyaları tarafından kodlanır. Böylece böyle bir şeyi içine çekmeye çalışırsanız ~
, kırılır. Bağımlılıkları gevşetmek için saatler harcayabilirsiniz, ancak zamanınız için kanser tedavisini bulmak veya dünyadaki güzelliğin bir kısmını emmek gibi faydalı bir şey yapıyor olabilirsiniz.
Sadece yazılımı yazan kişiden, paketlenmemiş bir sürümü kapmak için çok daha iyisini yaparsınız. Hemen hemen tüm özgür yazılımlar kaynak olarak sıkıştırılmış bir arşiv biçiminde mevcuttur; Sen make install
adım atmıyorsun. Uygulamanız inşa edildi, sadece istediğiniz yere koyun.
/etc/init
, yapılandırma dosyalarına bakar /etc
veya kodlanmış başka yollara sahiptir.
./configure --prefix=$HOME/local
.
Bu konu hakkında çok fazla bilmiyorum, ama başka bir dizine yerine bir paket yüklemek mümkün olabilir diğer cevaplardan görünüyor /
ile dpkg
kullanılarak --root
parametre ve sonra yapmak chroot
paketi "oldu dir "içinde (elbette kullanıcının ana dizininde bir dir olabilir) yüklü.
Başka bir kullanıcıya paket yüklemek root
için yukarıdaki işlemleri fakechroot
yerine kullanmak mümkündür chroot
.
Yasal Uyarı : Bu deneyin vermedi ve birlikte yazılma zamanında çok tecrübem yok dpkg
ya chroot
ben yapacağım ama gelen yok Bu araçlar hakkında bilmek, bu işlem sadece olabilir çalışır.
Yeteneği chroot
olmayan bir etkiyi elde etmek isteyen insanlar için yararlı olabilecek bilgilere sahip bağlantılar root
:
chroot
fakechroot
)Şimdi bu konuya dokunacak şeyleri biraz yaptım ve daha fazlasını öğrendim ...
Parçalar (yerel çevre yapı taşları):
chroot(1)
Tam (tam yerel çevre sağlayıcıları):
chroot(1)
, mount --bind
, binfmt_misc
ve kullanan diğer mimarileri gelen ikilileri çalıştırıyorsanız qemu-kullanıcı alanıÖzet : Yerel olarak yerel olarak kök ayrıcalıklarına sahip olan veya gerçekten sahip olan DEB paketleri, yerel bir ortam için yüklenebilir.
Büyük olasılıkla başka bir dizine yükleme --root
seçeneğini kullanabilirsiniz dpkg
. Ancak uygulama gibi sabit yerlerde şeyler ararsa muhtemelen sorunla karşılaşacaktır /etc
.
Kısacası, kolay bir yol olduğunu sanmıyorum.
Yürütülebilir dosyanın sahipliğini değiştirerek yalnızca bir kullanıcının çalıştırmasını sağlayabilirsiniz. Ardından, gerekirse, uygulamayı diğer kullanıcıların menülerinden kaldırabilirsiniz.
~/bin
. Takkat'ın çok kullanıcılı bir uygulamanın erişimini / görünürlüğünü kısıtlamak isteyip istemediği veya tek kullanıcılı bir uygulama yüklemek isteyip istemediği konusunda bir belirsizlik var. Sizin ve aranjmanların soruları eski yorumu kullanır ve gerisi ikinciyi kabul eder.
Şüpheli.
Deb'ler esas olarak , kurulduklarında dosya sisteminizin kökünden çıkarılan arşivlerdir (ayrıca bazı config). Bunları yalnızca bir kullanıcı için yüklemek istiyorsanız, bir şekilde / home / user klasörüne yüklemeniz gerekir. Bunu yapmış olsanız bile, çalışma ikili dosyaları / usr / bin (veya sth benzeri) içerisine girmeyeceğinden ve çalıştırmaya çalışırsanız sistem bunları bulamayacağından işe yaramazlar. Benzer şekilde kütüphaneler vb., Sistemin / evde bir yerde olduğunu bilmeyeceğinden, faydasız olacaktır. Brute-force yaklaşımını deneyebilir ve PATH değişkenini dosyaları deb arşivinden çıkardığınız yere işaret edecek şekilde ayarlayabilirsiniz, ancak bu sadece ÇOK olmayacaktı güvensiz, ancak uyumluluk sorunlarına neden olabilir (örn. GNOME .desktop dosyalarını / usr / share / apps içinde olmasını sağladığı için menü girişleri çalışmaz).
Ayrıca, yalnızca bazı kullanıcılar için bir paket yüklediyseniz, bu bağımlılık sorunlarına neden olabilir, başka bir kullanıcıyla yüklediğiniz başka bir paketle yalnızca kendiniz için yüklediyseniz ve muhtemelen tonlarca başka paket yönetimi ile ilgili sorunlar ortaya çıkacaksa, bu çılgınca bağımlılık sorunlarına neden olabilir.
Tüm bu sıkıntılar, paketlerin kullanıcılar için ayrı ayrı yönetilmesini oldukça zorlaştırmaktadır, bu yüzden onları sadece bir kullanıcı için kurmak mümkün değildir, çünkü .debs'in arkasındaki fikir buna izin vermemektedir.