giriş klasörümü başka bir sürücüden nasıl bağlayabilirim?


15

Daha spesifik olarak, ev hesabı için kullanıcı klasörünün daha fazla alana sahip başka bir disk olmasını istiyorum, ancak diğer küçük hesaplarımı SSD'mde tutmak istiyorum. Kullanıcı klasörümü başka bir diske kopyalayabildim, ancak şimdi ssd'mdeki ana klasöre bağlamam gerekiyor, normal bir önyüklemeden erişilebilir olmasını istiyorum ve lütfen bana yaptığımın en iyi şey, sadece bir cevap istiyorum. / Home / username / / extra-home / username dizinine giden ve kullanıcı klasörlerini yüklerken sistem tarafından tanınan bir bağlantı nasıl oluşturabilirim?

Yanıtlar:


21

İzinlerinizin aynı olması gerektiğini unutmayın. Symlink'e ek olarak, daha yeni dağıtımlarda ve dosya sistemlerinde, kök olarak bağlama bağlama özelliğini de kullanabilirsiniz:

mkdir /home/username mount --bind --verbose /extra-home/username /home/username

Bu, sembolik bağlantılardan (apache, ftpd, vb.) Geçmesini önlemek için yapılandırılan arka plan programları ile / home dizinine alt dizinlere "üzerinden" erişim izni vermek için kullanışlıdır.

Tabii ki yeniden başlatmalara bağlanmayı hatırlamanız (veya komut dosyasını başlatmanız) gerekir.


Simgelerin bu tür sorunları yaratabileceğinin farkında değildim. Böyle cinler nasıl davranıyor /var/run/?
Paul

1
Sunucular, sistemin güvenliğini aşmamak için yerel dosya sistemine erişimi kısıtlayacak şekilde tasarlanmıştır. Bunu "uzaktaki kullanıcılara izin verilen şeyler" olarak düşünebilirsiniz. "Bu işleme izin verilen şeyler" olarak / var / run (genellikle başlatma / kapatma sırasında) erişimini kısıtlamaları gerekmez. İstenirse, sunulan dosya sisteminin sembolik bağlantıları aşmasına nasıl izin verileceğine ilişkin bir örnek için Apache'nin FollowSymLinks yönergesine bakın.
Joe Atzberger

/ bin ve / lib'i de aynı şekilde genişletebilir miyiz (küçük dosya sisteminde faydalı olabilir)?
Ocak'ta

Sisteminizin ihtiyacı var /binve /libbaşlatma sırasında (yani mountkomutu çalıştırmadan önce )? Öyleyse, bu stratejiyi kullanamazsınız.
Joe Atzberger

2
Buraya bilgi eklemek, aramak zorunda olduğum gibi, bir kez init eklemek için yapıldıktan sonra / etc / fstab formudur. Joe'nun tarif ettiği yöntemi kullanırken, mount --bind --verbose /extra-home/username /home/usernamehat /etc/fstabşu olurdu/extra-home/username /home/username none defaults,bind 0 0
Wilken

9

Süper Kullanıcı'daki bu soruya göre bu mümkün.

Şunları kullanarak sembolik bir bağlantı oluşturabilirsiniz:

ln -s /extra-home/username /home/username

Herhangi bir nedenle çalışmazsa, sembolik bağlantıyı silebilirsiniz, dizini geri taşıyın ve bilgisayarınızı yeniden başlatın.


/ Media / {hardrive_name} / {klasörünüz} ile başlamanız gereken basit bir klasörse, bunu bir debian sunucuda denedim ve işe yarıyor.
answerSeeker

2

Bunu denemek istiyorum:

Bir kök kabuğu (örneğin içinde, farklı bir kullanıcı olarak giriş yapmış durumdayken sudo -i), içeriğine üzerinden kopyalama /home/usernameiçin /extra-home/usernameve emin yeni konum aittir yapmak username:

# cp -p /home/username /extra-home/
# chown username:username /extra-home/username

Orijinal /home/username/dizini güvenli bir yere taşıyın :

# mv /home/username /root/

Symlink'i oluşturun:

# ln -s /extra-home/username /home/username

Başka bir terminal penceresi açıp çalıştırarak beklendiği gibi çalıştığını doğrulayın su:

$ sudo su username

Her şey iyi görünüyorsa, en azından terminalden (içerik /home/username/beklendiği gibi görünür), sonra oturumu kapatın ve tekrar oturum açın (Ubuntu masaüstünde olduğunuzu varsayıyorum) ve normal çalışıyor olmalıdır . Ancak, değilse, symlink'i silin ve arşivlenen giriş klasörünü orijinal konumuna geri taşıyın.

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.