SUSE LINUX Enterprise & openSUSE Community
กรกฎาคม 23, 2019, 06:59:40 PM *
ยินดีต้อนรับคุณ, บุคคลทั่วไป กรุณา เข้าสู่ระบบ หรือ ลงทะเบียน
ส่งอีเมล์ยืนยันการใช้งาน?

เข้าสู่ระบบด้วยชื่อผู้ใช้ รหัสผ่าน และระยะเวลาในเซสชั่น
ข่าว:
 
   หน้าแรก   ช่วยเหลือ ค้นหา เข้าสู่ระบบ สมัครสมาชิก  

[Why we need your support] SUSE and openSUSE are trademarks of Attachmate Group, Inc. - WE ARE NOT IN ANY WAY ASSOCIATED WITH SUSE AND ATTACHMATE GROUP. SUSEThailand.com is a SUSE Linux user and community found in Thailand but not limited to other country suse linux user to join in. Currently active contents (How to's, Scripts, Tips, Tricks, Tutorials, Linux Command Line, and Troubleshooting) this suse linux how to's and expert support are SUSE Linux.
หน้า: [1]   ลงล่าง
  พิมพ์  
ผู้เขียน
หัวข้อ: How to System Integration ระหว่าง Windows Active Directory กับ Linux Server (Samba)  (อ่าน 2776 ครั้ง)
0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้
Sontaya
Administrator
Expert : ผู้เชี่ยวชาญ
*****

Karma: +1/-0
ออฟไลน์ ออฟไลน์

กระทู้: 1931


Administrator


เว็บไซต์
« เมื่อ: ธันวาคม 01, 2011, 04:18:05 PM »


หลายหน่วยงานในปัจจุบันเป็นองค์กรลูกผสมระหว่างวินโดวส์กับลีนุกซ์ เช่น แผนกบัญชี ใช้วินโดวส์เป็นเดสก์ทอป และแผนกไอทีใช้ลีนุกซ์เดสก์ทอป หรือบางองค์กรก็มีลีกซ์เป็นไฟล์เซิร์ฟเวอร์ และวินโดวส์เป็นไฟล์เซิร์ฟเวอร์ การสร้างผู้ใช้งานใหม่ก็ต้องสร้างทั้งบนลีนุกซ์ (Samba) และบนวินโดวส์ (Active Directory) ทำให้ผู้ใช้งานหลายๆ คนปวดหัวกันไปหมดกับชื่อผู้ใช้และรหัสผ่าน (ไหนจะ username / passowrd อีเมลที่อยู่บน database อีก)

คุณสมบัติ Windows Active Directory authentication with Linux (Single Sign On)
ควบคุมการเข้าถึงไฟล์และใช้งานไฟล์ร่วมกันอย่างปลอดภัย กำหนดการ access ที่ Linux system เพิ่มผู้ใช้งานใหม่และกลุ่มผู้ใช้ที่ Windows Active Directory ซึ่ง Users สามารถ Logon เข้าใช้งานได้ทั้ง Windows และ Linux


How to Integrate

1. Install the prerequistes

- install packages samba, samba-winbind and kerberos-client (krb-client) from YaST Software Management

2. Edit the configuration files

Defining the kerberos realm and domains "MYCOMPANY.COM" will be replaced with your AD domain name
Do note the capitalizations

- /etc/krb5.conf

โค๊ด:
[libdefaults]
        default_realm = MYCOMPANY.COM
        clockskew = 300
        dns_lookup_realm = true
dns_lookup_kdc = true
ticket_lifetime = 24h
renew_lifetime = 7d
forwardable = yes

[realms]
MYCOMPANY.COM = {
        kdc = WINDOWNPDC1.MYCOMPANY.COM
        default_domain = MYCOMPANY.COM
        admin_server = WINDOWNPDC1.MYCOMPANY.COM
}
WINDOWNPDC1.MYCOMPANY = {
        admin_server = WINDOWNPDC1.MYCOMPANY
        kpasswd_server = WINDOWNPDC1.MYCOMPANY
        default_domain = MYCOMPANY.COM
        kdc = WINDOWNPDC1.MYCOMPANY
}

[appdefaults]
pam = {
        ticket_lifetime = 1d
        renew_lifetime = 1d
        forwardable = true
        proxiable = false
        retain_after_close = false
        minimum_uid = 1
}
[domain_realm]
        .MYCOMPANY.COM = MYCOMPANY.COM

[logging]
        kdc = FILE:/var/log/krb5/krb5kdc.log
        admin_server = FILE:/var/log/krb5/kadmind.log
        default = SYSLOG:NOTICE:DAEMON


- /etc/samba/smb.conf

โค๊ด:
[global]
        workgroup = MYCOMPANY # ชื่อโดเมน ( Windows Domain)
        netbios name = node1 # ชื่อ netbios ของ Samba Server
        security = ADS # ระบุการตรวจสอบ Account
        password server = WINDOWNPDC1.MYCOMPANY # ระบุรหัสผ่าน
        realm = MYCOMPANY.COM
        encrypt passwords = yes # สำหรับเครื่อง Client ที่เป็น Windows 95 ขึ้นไป
        preferred master = no
        idmap uid = 10000-20000 # ระบุ Range IDs ให้กับ winbind (เริ่มต้นที่ 10000)
        idmap gid = 10000-20000 # ระบุ Range IDs ให้กับ winbind (เริ่มต้นที่ 10000)
        winbind use default domain = yes
        winbind enum users = yes
        winbind enum groups = yes
        winbind uid = 10000-20000
        winbind gid = 10000-20000
        winbind nss info = rfc2370
        socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192
        dns proxy = no
        max log size = 50
        template homedir = /home/%D/%U # Create Home Directory on Login
        winbind refresh tickets = yes
        template shell = /bin/bash
        logon script = netlogon.bat

[data]
    force directory security mode = 777
    force security mode = 666
    create mask = 02777
    directory mask = 02777
    writeable = no
    read only = no
    guest ok = no
    browseable = yes
    path = /data

[netlogon]
        comment = Network Logon Service
        path = /var/lib/samba/netlogon
        write list = root
        public = no
        writeable = yes
        browseable = no
        guest ok = no
        printable = no
        read only = no


- Create bat file (netlogon.bat

/var/lib/samba/netlogon/netlogon.bat
โค๊ด:
@ echo
NET USE K: \\node1\data


- Test configuration file
โค๊ด:
testparam /etc/samba/smb.conf


- /etc/nsswitch.conf
โค๊ด:
passwd: compat  winbind
shadow: compat  winbind
group:  compat  winbind


- /etc/hosts
โค๊ด:
192.168.1.2     WINDOWNPDC1.MYCOMPANY.COM WINDOWNPDC1


3. Join the Domain

โค๊ด:
chkconfig smb on

rcsmb restart

net ads join -U Administrator
Enter username's password:******

Using short domain name – EXAMPLE
Joined 'NODE1' to realm 'MYCOMPANY.COM'

[2010/11/29 16:11:20.643445, 0] libads/kerberos.c:333(ads_kinit_password)
kerberos_kinit_password LINUXSERVER1$@EXAMPLE.COM failed: Client not found in Kerberos database
[2010/11/29 16:11:20.644894, 0] utils/net_ads.c:1147(net_update_dns_internal)
net_update_dns_internal: Failed to connect to our DC!
DNS update failed!


4. Start winbind

โค๊ด:
chkconfig winbind on
rcwinbind restart


5. Test your membership and domain communication

#List out all of the groups
โค๊ด:
wbinfo -g

#List out all of the users
โค๊ด:
wbinfo -u

โค๊ด:
net ads info -U Administrator

6. Set the domain home permissions

/etc/profile
โค๊ด:
...
umask 0077
...

โค๊ด:
chmod 711 /home/MYCOMPANY/

Note: The default umask is 0022 (644 permissions equivalent). When we change the umask 0077 (700), it not only creates the users' home directories with these permissions, but *also the domain home*. As it turns out, the domain home (/home/DOMAIN) is owned by root. This prevents anyone from being able to get to their home directory.

7. Restrict Logins

- Control who can and cannot log in to server

/etc/pam.d/login
โค๊ด:
#%PAM-1.0
auth     requisite      pam_nologin.so
auth     [user_unknown=ignore success=ok ignore=ignore auth_err=die default=bad]        pam_securetty.so
auth     include        common-auth
auth     sufficient     pam_winbind.so use_first_pass #Added
account  include        common-account
account  [default=bad success=ok user_unknown=ignore] pam_winbind.so #Added
password include        common-password
password sufficient     pam_winbind.so use_authtok #Added
session  required       pam_loginuid.so
session  include        common-session
session  required       pam_lastlog.so  nowtmp
session  optional       pam_mail.so standard
session  optional       pam_ck_connector.soa
session  optional       pam_oddjob_mkhomedir.so #Added


- Control who can connect to server though ssh (group linuxadmins)

/etc/pam.d/sshd

โค๊ด:
#%PAM-1.0
auth     requisite      pam_nologin.so
auth     include        common-auth
account  include        common-account
account  required pam_succeed_if.so user ingroup MYCOMPANY\IT_Dep #Added
password include        common-password
session  required       pam_loginuid.so
session  include        common-session


- Control who cam access to the GUI login

/etc/pam.d/gdm
โค๊ด:
#%PAM-1.0
auth     include        common-auth
account  include        common-account
account  sufficient     pam_succeed_if.so user = MYCOMPANY\sontaya #Added
account  sufficient     pam_succeed_if.so user ingroup MYCOMPANY\sontaya #Added
account  required       pam_succeed_if.so user ingroup MYCOMPANY\IT_Dep #Added
password include        common-password
session  required       pam_loginuid.so
session  include        common-session


8. Seting Windows Domain Membership

Go to YaST > Security and Users > User and Group Management
- Tab "Authentication Settings" > "Samba" > Choose "Create Home Directory on Login" > Click "OK"

9. Restart

โค๊ด:
reboot

...Enjoy your new system.
แจ้งลบกระทู้นี้หรือติดต่อผู้ดูแล   บันทึกการเข้า

ageLOC Technology
หน้า: [1]   ขึ้นบน
  พิมพ์  
 
กระโดดไป:  

(@)2007 SUSE Linux user community found in Thailand. This site is not an official openSUSE and SUSE website, and is not in any way affiliated with or endorsed by SUSE Linux GmbH or Novell. openSUSE and SUSE are trademarks of Novell, Inc. in the United States and other countries.
Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!
หน้านี้ถูกสร้างขึ้นภายในเวลา 0.033 วินาที กับ 22 คำสั่ง (Pretty URLs adds 0.007s, 2q)