Ubuntu 10.04 Sunucusu kullanıyorum.
Ubuntu 10.04 Sunucusu kullanıyorum.
Yanıtlar:
[Düzenle] Ben o zamandan beri bu Ubuntu 10.04 Server (21 / Mayıs / 2010) tam sürümünü test ettik .
Ubuntu 10.04 Server LTS'mi Windows dizininde bulunan ve aktif dizini kullanarak girişlerin kimliğini doğrulayacak şekilde yapılandırdım .
İşte Ubuntu'nun ilk kurulumundan başlayarak yaptığım şey.
Güncellemeleri alın
# sudo apt-get update && sudo apt-get upgrade
Bir SSH sunucusu kurun ( sshd
)
# sudo apt-get install openssh-server
Bazıları kök girişlerini devre dışı bırakarak "sshd'yi kilitlemeniz" gerektiğini savunur. Bir kök şifre SSH oturumu kesmek için akıllı yeterince, muhtemelen ilave edilerek engellenmeye etmeyeceğiz diye anlamaya PermitRootLogin no
içinde /etc/ssh/sshd_config
dosyanın. Paranoyakınız ya da ikna olmamışsanız, dosyayı düzenleyin ya da aşağıdakileri yapın:
# (grep PermitRootLogin /etc/ssh/sshd_config && sudo sed -ri 's/PermitRootLogin ).+/\1no/' /etc/ssh/sshd_conifg) || echo "PermitRootLogin not found. Add it manually."
Gerekli paketleri yükleyin
# sudo apt-get install winbind samba smbfs smbclient ntp krb5-user
Belirli paket yapılandırmalarının hazırlanmasına hazırlık olarak bazı temel ağ temizliği yapın.
Etkin dizin sunucusu (samba için) için Windows etki alanı adınızı, DNS sunucusu adınızı ve IP adresinizi belirleyin. Kolaylık sağlamak için Windows etki alanı ve DNS sunucusu için ortam değişkenleri ayarladım. Benim için (AD IP adresim 192.168.20.11 idi):
# WINDOMAIN=mydomain.local && WINDNS=srv1.$WINDOMAIN && WINDNS_IP=192.168.20.11
Etki alanınızın ve DNS sunucunuzun ne olduğunu anlamak istiyorsanız (yükleniciydim ve ağı bilmiyordum) bu yararlı referansa göz atın .
Yeni ağdaki Linux kutusunu vaftiz etmemiz gerekiyor, bu ana bilgisayar dosyasını düzenleyerek yapılır (DNS'yi Windows DNS'in FQDN'si ile değiştirin):
# sudo sed -ri "s/^(127\.0\.[01]\.1[ \t]).*/\1$(hostname).$WINDOMAIN localhost $(hostname)/" /etc/hosts
Ayrıca, gelecekteki yüklü hizmetleri orada lider bulabileceklerini söylemeliyiz: bazı ağların netbios adı arama hizmetleri olacak, ancak her ihtimale karşı, /etc/hosts
dosyanızda açık bir giriş ekleyin , yapılandırmamda üçüncü (3) hat:
# sudo sed -ri "3 i $WINDNS_IP $WINDNS" /etc/hosts
Windows ve Linux kutuları için kimlik doğrulama ve dosya paylaşım süreçlerinin saatlerinin aynı olması gerekir. Bunu bir NTP hizmeti ile yapın ve Ubuntu'nun sunucu sürümünde NTP hizmeti bir (1) NTP sunucusuyla kurulur ve yapılandırılır . Sizinkini Ubuntu'dan önce ekleyin (veya tamamen değiştirin). Katıldığım ağda NTP hizmetini sunan DNS sunucusu da vardı.
# sudo sed -ri "s/^(server[ \t]+)(.+)/\1$WINDNS\n\1\2/" /etc/ntp.conf
NTP arka plan programını yeniden başlatın:
# sudo /etc/init.d/ntp restart
Kerberos yapılandırması.
Burada izlenen talimatlar tam anlamıyla alınmamalıdır: dosyaları düzenlerken değerlerin MYDOMAIN.LOCAL
ve srv1.mydomain.local
ağınız için uygun olanlarla değiştirilmesi gerekir, ancak UPPERCASE'in nerede kullanıldığı UPPERCASE'in gerekli olduğunu unutmayın . Kerberos
sırasında, apt-get install
"varsayılan alan adı" sorusuna doğru bir şekilde yanıt vermeniz gerekiyorsa, sizin için iyi, aksi takdirde aşağıdakileri yapmanız gerekir.
(Önceden kurulmuş olan) /etc/krb5.conf
dosyayı düzenleyin.
[libdefaults]
Bölümü bulun ve anahtar / değer çiftini değiştirin:
[libdefaults]
default_realm = MYDOMAIN.LOCAL
[realms]
Dosyanın bölümüne aşağıdakileri ekleyin :
MYDOMAIN.LOCAL = {
kdc = srv1.mydomain.local
admin_server = srv1.mydomain.local
default_domain = MYDOMAIN.LOCAL
}
[domain_realm]
Dosyanın bölümüne aşağıdakileri ekleyin :
.mydomain.local = MYDOMAIN.LOCAL
mydomain.local = MYDOMAIN.LOCAL
Bu noktada güzel bir test, AD denetleyicinizin size bir kerberos bileti düzenleyip düzenlemeyeceğini görmek. Bu gerekli değildir, ancak bazılarınız başınızı döndürebilir:
# kinit <some_windows_domain_user>
Sonra bileti görmek için:
# klist
Bilet önbelleği, süreleri ve yenilemeleri hakkında şeyler göreceksiniz. Baş dönmesi azaldığında, bileti de serbest bırakabilir / imha edebilirsiniz:
# kdestroy
Samba'yı yapılandırın.
Aşağıdakilere göre:
CIFS'in kullanılamadığı veya başka bir ağ dosya sistemi seçiminin daha iyi olduğu zamanlar vardır. Ek güvenlik için kerberos (krb5 / SPNEGO) kimlik doğrulama desteği gerekiyorsa,
Alas cifs yerine Samba'nın smbclient veya smbfs'si kullanılmalıdır , cifs
ubuntu 10.04 için çekirdekte (çekirdek sürüm 2.6.32.9'a göre) sürüm 1.61'dir ve çekirdek belgelerine göre, deneysel kerberos uygulaması 1.54 sürümünden beri var.
İşte buradasınız. Eğer cifs
işe yarayacak bir fikrim yok , bu yüzden size samba yapılandırmasını veriyorum:
Değiştirin /etc/samba/smb.conf
(Ubuntu'nun temiz bir dağıtımından çalıştığımı unutmayın, bu yüzden bir şey kırma konusunda endişelenmedim):
[global]
security = ads
realm = MYDOMAIN.LOCAL
password server = 192.168.20.11
workgroup = MYDOMAIN
idmap uid = 10000-20000
idmap gid = 10000-20000
winbind enum users = yes
winbind enum groups = yes
template homedir = /home/%U
template shell = /bin/bash
client use spnego = yes
client ntlmv2 auth = yes
encrypt passwords = yes
winbind use default domain = yes
restrict anonymous = 2
Çeşitli hizmetleri başlatın ve durdurun.
# sudo /etc/init.d/winbind stop
# sudo service smbd restart
# sudo /etc/init.d/winbind start
Kimlik doğrulamasını ayarlayın.
Düzenleyin /etc/nsswitch.conf
. Ben ihtiyacım olanı almak için aşağıdaki komutu çalıştırmak mümkün:
# sed -ri 's/(compat)/\1 winbind/' /etc/nsswitch.conf
İşte benim /etc/nsswitch.conf
dosya içeriği :
passwd: compat winbind
group: compat winbind
shadow: compat winbind
hosts: files dns
networks: files
protocols: db files
services: db files
ethers: db files
rpc: db files
Çeşitli hizmetleri başlatın ve durdurun.
# sudo /etc/init.d/winbind stop
# sudo service smbd restart
# sudo /etc/init.d/winbind start
Bilgisayarı etki alanına katın. Bunun gerekli olduğuna ikna olmadım; özellikle smb.conf
dosyadaki güvenlik seçeneği nedeniyle ( security = ads
). Belki birileri buna ağırlık verebilir ...
# sudo net ads join -U any_domain_user_account
Bir hata alabilirsiniz DNS update failed!
, ancak etki alanına katılacaksınız. Sunucuyu bulamama konusunda bir hata alırsanız, DNS kayıtlarınızın değiştirilmesi gerekir. Ubuntu kurulumu sırasında, ad sunucusu genellikle ağ geçidinizi gösterecektir: çoğu yönlendirici bir DNS servisi yapacaktır. Windows sunucu yönetimi için en iyi uygulamalar, ADC'nin DNS'yi de çalıştırması gerektiğidir. Benim durumumda, benim /etc/resolve.conf
böyle görünüyor: bir google DNS, tek iner pencereler durumda oldukça güvenilir destektir.
nameserver 192.168.20.11
nameserver 8.8.8.8
8.8.8.8
Bu noktada giriş yapabilirdim (belki bir yeniden başlatmadan sonra), ev dizinleri yoktu, ancak giriş yapabilirim.
CIFS Girişte Montaj
Bu sonraki adım benim için kirazdı; Herkesin çalışma dizinlerini yedekleme sorumluluğunu istemedim ve Ubuntu'nun çalışacağı kutu güvenilirlik açısından şüpheliydi. Şu kullanıcılar yaparak giriş yapmalı ve pencereleri kullanıcı dizini görebiliyordu automagicallylar .
pam_mount
Modülü indirin :
# sudo apt-get install libpam-mount
Bağlama noktasının geleneksel /home/<user>
konumda olmasını istedim : bu kısım /etc/samba/smb.conf
dosya ( template homedir = /home/%U
) tarafından yapılandırıldı . Ama paylaşmak için kendi windows dizini işaret ihtiyacı vardı. Bu, /etc/security/pam_mount.conf.xml
dosyayı düzenleyerek gerçekleştirilir (ki amacına rağmen XML okunabilir değildir ):
Aşağıdakileri ekleyin /etc/security/pam_mount.conf.xml
ve uygun şekilde değiştirin:
<volume
user="*"
server="srv1.mydomain.local"
path="UserShares"
mountpoint="home"
fstype="cifs"
/>
<cifsmount>mount -t cifs //%(SERVER)/%(VOLUME)/%(USER) %(MNTPT)/%(USER) -o "user=%(USER),uid=%(USERUID),gid=%(USERGID)%(before=\",\" OPTIONS)"</cifsmount>
Benim aptal bağlama noktası nedeniyle bu satırı da eklemek zorunda kaldım:
<umount>umount %(MNTPT)/%(USER)</umount>
Ve böylece kullanıcı dizinleri (bağlama noktası için) otomatik olarak hattı bulur ve bunu yapar:
<mkmountpoint enable="1" remove="false" />
remove="false"
Biraz oldukça önemlidir: true 's seti, eğer pam_mount.so
dizin bir kullanıcı birden çok kez oturum açtıktan eğer yapamaz bağlama noktası silmeye çalışır. Bu durumda, sisteminizde çok sayıda başıboş montaj var.
pam_mount.so
hala vaat edildiği gibi teslim değil. Şu anki haliyle, bağlar yığılmaya devam ediyor ve ana dizinler oluşturulmuyor. Burada ve 10.04 sunucusunun önceki Beta 2 sürümü arasında bir yerde çalışıyordu. Yine de bunu yeniden oluşturamıyorum.
Dizin oluşturma için bu sırada güveniyorum pam_mkhomedir.so
ve satır karşılamak için hemen önce bir çizgi sıkışmış pam_mount.so
.
Çoklu montaj sorununu hala çözemedim. Ama pam_mount.so
düzeltilinceye kadar , dosyamda bu var /etc/pam.d/common-session
:
session [default=1] pam_permit.so
session requisite pam_deny.so
session required pam_permit.so
session required pam_unix.so
session optional pam_winbind.so
session required pam_mkhomedir.so skel=/etc/skel/ umask=0022
session optional pam_mount.so
Bu kadar. Benim için işe yaradı ve umarım faydalı bulursun.
Bunu anlayabilmek için çok sayıda kaynak düşünülmüştü. İşte kısa bir liste (bu bağlantıların bir kısmı konuyla ilgili kendi sorularıma işaret ediyor):
sudo
d, ya da bir şey eksik mi?
sudo
' - Ve bu daha iyi ... hangi yönden? (Sudo yetkisi olan herhangi bir kullanıcı hesabının güvenliği ihlal edilirse, temelde aynı şeydir. Kök veya kullanıcı hesaplarını bruteforce etmek temelde aynı derecede basittir (veya değil). tabanlı oturum açma.)