Windows 2008 使用Linux LDAP认证

公司出于数据安全须要, 把linux服务器放到了子网里面, 可是linux查看文档不是太方便. 而后领导说折腾一台windows专门用来查看文档.linux


网上找了下 pGina 能够用于windows的LDAP认证. 由于AD不在那个子网中, 出于安装考虑, 只有使用linux的LDAP认证了.git


直接起一台windows 2008虚拟机. 在里面安装好 pGina. 打开软件.github

1: 把LDAP 相关选项勾上. 由于要操做组因此把 Gateway也勾上了.而后再点击配置golang

wKioL1jt5fayse5vAAHLUWnpGqQ229.jpg-wh_50

2: 这里直接更改ldap的地址及base 便可windows

wKiom1jt5faRD7DrAADvHBYAh30686.jpg-wh_50

3: 点击 Gateway. 我这边是设置为只要登陆的都自动添加到远程桌面用户组. 而后 保存安全

wKiom1jt5ffC7YPdAADoU-pJTXA115.jpg-wh_50

4: 记得更改一下认证顺序.bash

wKioL1jt5feReIspAADpKkvb1R0965.jpg-wh_50

5: 如今能够输入相关帐号测试一下. 若是LDAP 是绿色的就能够了.  刚开始里面若是没有服务器

这个帐号的话, 可能Local Machine 是红色的. 不要紧. ide

wKioL1jt5fjhrPurAAGow6nVD7Y141.jpg-wh_50

6: 如今远程登陆这台服务器是这样的. 到些完成测试

wKioL1jt5zGijAf9AABw8CAKTWI695.jpg-wh_50



认证作好后, 考虑文档都在 Linux NFS上面, 而后还安装了NFS客户端, Windows 2008 

直接添加 文件服务 角色便可. 

为了登陆系统后自动挂载NFS. 前面用BAT写了下脚本, 但是真没折腾出来, 一直有错,

没办法,用golang写了个. 

package main

import (
    "os"
    "os/exec"
    "fmt"
    "bufio"
    "strings"
    "time"
)

func main() {
    conf := make(map[string]string)
    user := os.Getenv("USERNAME")
    // 相关NFS服务器信息直接保存在下面这个文件中.
    f, err := os.Open(`c:\Windows\auto.nfs`)

    if err != nil {
        fmt.Println("Open Config File ERROR")
        os.Exit(1)
    }
    defer f.Close()
    rd := bufio.NewScanner(f)
    for rd.Scan() {
        trim := strings.TrimSpace(rd.Text())
        split := strings.Split(trim,`\`)
        conf[split[len(split)-1]] = trim
    }
    if _, exist := conf[user]; exist {
        for i:=0; i<5; i++ {
            exec.Command("mount","-o rsize=32,wsize=32,fileaccess=755",conf[user],"z:").Run()
            time.Sleep(2000000000)
            if _, err := os.Open(`Z:\`); err == nil {
                fmt.Println("Mount NFS OK")
                os.Exit(0)
            } else {
                fmt.Println("Mount NFS ERROR")
            }               
        }  
    }
}

编译好后,放在 全部用户 的启动文件夹中搞定


另外上面这样挂载NFS是只读的. 由于用户名没有映射, 考虑他们只是查看文档就没折腾了.


若是Linux NFS服务器是 4.1 的版本,  可能用这个会更加好一点, 支持LDAP认证

ms-nfs41-client 只支持 4.1


pGina


最后要注意的是 pGina 须要依赖 LanmanServer 服务. 

相关文章
相关标签/搜索