Ubuntu14.04配置LDAP Client

Ubuntu 14.04系统上配置LDAP客户端的过程,记录一下。

sudo apt-get install ldap-utils ldap-auth-client libnss-ldap libpam-ldap

安装过程中提示填写ldap相关信息:ldap server地址,base dc等,信息保存在/etc/ldap.conf中,可通过dpkg-reconfigure ldap-auth-config重新配置,其中:

lda地址格式 ldap://192.168.x.x:389
Distinguished name of the search base: 就是你目录树的根,比如我的是dc=163,dc=com
LDAP version to use: 3
Make local root Database admin: Yes
Does the LDAP database require login? No
LDAP account for root:  安装LDAP服务器时的创建的admin账号,我的是cn=admin,dc=163,dc=com
LDAP root account password: 

修改/etc/nsswitch.conf文件,添加ldap登陆方式,同时系统查找顺序,以便在查询 LDAP服务器之前先检查您的本地passwd文件

sudo cp -p /etc/nsswitch.conf /etc/nsswitch.conf.bak
sudo auth-client-config -t nss -p lac_ldap

继续阅读

CentOS 6配置LDAP允许用户自行修改密码

在LDAP中,默认情况下用户无权修改自己的密码,如果用户自行修改密码,会遇到Result: Insufficient access (50)的错误,因此我们需要打开用户修改自己密码的权限。本文基于CentOS 6。

vim /etc/openldap/slapd.conf

修改配置文件,在database config前添加如下内容(注意格式!)

access to attrs=userPassword
	by self write
	by anonymous auth
	by * none

access to * by * read

解释:
by self write表示允许登陆用户修改自己的userPassword属性;
by anonymous auth允许匿名用户(即non-authenticated用户)基于验证目的访问userPassword,而不是其它目的(例如搜索和读取等)
by * none是阻止所有用户访问该用户的userPassword属性

LDAP的访问实体说明:

Table 5.3: Access Entity Specifiers
Specifier Entities
* All, including anonymous and authenticated users
anonymous Anonymous (non-authenticated) users
users Authenticated users
self User associated with target entry
dn[.<basic-style>]=<regex> Users matching a regular expression
dn.<scope-style>=<DN> Users within scope of a DN

然后执行

$ rm -fr /etc/openldap/slapd.d/*
 
$ slaptest -f /etc/openldap/slapd.conf -F /etc/openldap/slapd.d
#测试配置文件语法是否有错误,如果提示testing succeeded则可以进入下一步
 
$ chown -R ldap:ldap /etc/openldap/slapd.d/
$ /etc/init.d/slapd restart

参考文档:
centos 6.4 openldap 2.4 版本 系统认证无法更改密码
OpenLDAP ACL to allow users to change their password
LDAP Access Control

LDAP用户管理,实现客户端增删改查

LDAP简称对应

o– organization(组织-公司)
ou – organization unit(组织单元/部门)
c - countryName(国家)
dc - domainComponent(域名组件)
sn – suer name(真实名称)
cn - common name(常用名称)
dn - distinguished name(专有名称)

查看用户列表

ldapsearch -x -b "ou=People,dc=163,dc=com" | grep dn

这一步需要注意:
如果是在客户端查询,需要加入-H ldap://192.168.x.x参数
如果是通过ldif导入的系统用户,其DN是uid=UserNmae,ou=People,dc=163,dc=com
而如果通过phpldapadmin或者LAM等第三方工具建立的用户,其DN是cn=UserNmae,ou=People,dc=163,dc=com
如果使用ldapsearch或者ldappasswd命令查询/修改用户信息的时候,请注意这一点

查询单个用户信息

ldapsearch -x -b "用户DN"    #根据上面的用户列表,找到用户的DN
ldapsearch -x -b "uid=ldapuser8,ou=People,dc=163,dc=com"

查看组列表

ldapsearch -x -b "ou=Group,dc=163,dc=com" | grep dn

继续阅读

解决LDAP出现ldap_bind: Invalid credentials (49)错误

LDAP最经常遇到的就是ldap_bind: Invalid credentials (49)错误,本文阐述了错误原因及解决办法:

比如在某LDAP客户端,使用rootdn(管理员)权限为某用户修改密码时

$ ldappasswd -H ldap://192.168.32.1 -x -D "cn=admin,ou=People,dc=115,dc=com" -W -S "uid=zhang3,ou=People,dc=115,dc=com"
New password: 
Re-enter new password: 
Enter LDAP Password: 
ldap_bind: Invalid credentials (49)

错误原因1:管理员DN或者用户DN错误
管理员DN是在/etc/openldap/slapd.conf中指定的rootdn,其格式
应该是”cn=admin,dc=115,dc=com”
而不是”cn=admin,ou=People,dc=115,dc=com”
而普通用户的DN才应该是”uid=zhang3,ou=People,dc=115,dc=com”。
也可以执行如下命令查看该用户的DN是否存在

查询用户列表,不需要密码
$ ldapsearch -H ldap://192.168.32.1 -x -b "ou=People,dc=115,dc=com" | grep dn

继续阅读

CentOS 6安装配置LDAP管理工具:phpldapadmin和LAM

为OpenLDAP安装配置图片化管理工具的过程,这里记录一下,本文基于Centos6。本文中第2步和第三步分别介绍了phpldapadmin和LDAP Account Manager的安装方法,它们都是基于WEB的LDAP管理工具,可以任选其一安装,也可以两者都安装。其中LDAP Account Manager相对简单,比较适合新手。

1,安装epel源及基础软件包

根据系统版本打开相应的链接:
CentOS 5 32位:http://download.fedoraproject.org/pub/epel/5/i386/
CentOS 5 64位:http://download.fedoraproject.org/pub/epel/5/x86_64/
CentOS 6 32位:http://download.fedoraproject.org/pub/epel/6/i386/
CentOS 6 64位:http://download.fedoraproject.org/pub/epel/6/x86_64/
查找“epel”,应该会找到一个“epel-release-X-X.noarch.rpm”的软件包。下载,安装之。

$ yum install httpd php php-bcmath php-gd php-mbstring php-xml php-ldap php-pear

$ vim /etc/httpd/conf/httpd.conf #修改如下内容
……
DirectoryIndex index.html index.php
……


$ vim /etc/php.ini #修改如下内容
……
date.timezone = "Asia/Shanghai"
……

继续阅读

Samba用户管理

samba有三种用户密码验证方式:smbpasswd、tdbsam和ldapsam。

smbpasswd是使用一个smbpasswd文件来存储用户信息(通常位于/etc/samba/smbpasswd,文件格式类似于/etc/passwd),使用smbpasswd命令来管理用户,要添加/管理的用户必须先是系统用户。
在旧版本的Samba中,如果指定了passdb backend = smbpasswd,那么还需要指定smb passwd file =/etc/samba/smbpasswd。

tdbsam是使用一个.db的文件来存储用户信息,使用pdbedit命令来管理用户,要添加/管理的用户必须先是系统用户。

新版Samba的密码验证方式已使用tdbsam取代smbpasswd,但如果要继续延用旧版smbpasswd也是可以的。新版的tdbsam需要用pdbedit命令来管理帐号密码。

$ grep backend /etc/samba/smb.conf 
   passdb backend = tdbsam

使用新版tdbsam管理帐号

pdbedit -a username    #新建Samba账户
pdbedit -x username    #删除Samba账户
pdbedit -v username    #显示账户详细信息
pdbedit -L             #列出Samba用户列表,读取passdb.tdb数据库文件
pdbedit -Lv            #列出Samba用户列表详细信息

继续阅读

TP-LINK WR941N路由器刷OpenWrt + Shadowsocks

给TP-LINK WR941N v5路由器刷OpenWrt并配置Shadowsocks自动翻Qiang的过程。v5及以前版本的还没有缩水太厉害,还是4M ROM + 32MB RAM,因此可以刷英文版本的WR941ND(英文版本多了个D)的OpenWrt固件。

需要注意的几点:
1,/tmp目录空间最大,不论是路由固件还是任何软件包,都应该先拷贝到/tmp目录再进行安装;
2,在安装shadowsocks-libev-polarssl软件包的过程中,路由器需要连网,以安装其它依赖软件包;
3,OpenWrt官网下载固件的时候,不要选择snapshots分支的软件包,它属于开发版本,非常不稳定

1,更新固件
根据OpenWrt官网提供的建议,这里提供2种升级固件的方式,可以任选一种

sysupgrade:
sysupgrade -v /tmp/[specified firmware].bin 
OR
mtd:
mtd -r write /tmp/[specified firmware].bin firmware

刷全新固件
本文中,因为需要连网安装依赖包,故当成了二级路由器(网段设置成了192.168.3.x),避免跟上级路由(192.168.1.x)冲突。

cd /tmp
wget http://downloads.openwrt.org/chaos_calmer/15.05/ar71xx/generic/openwrt-15.05-ar71xx-generic-tl-wr941nd-v4-squashfs-factory.bin
mtd -r write /tmp/openwrt-15.05-ar71xx-generic-tl-wr941nd-v4-squashfs-factory.bin firmware
#完成以后路由器会自动重启
#重启以后可以用telnet或者SSH登陆,用户名为root,密码一般为空或者root
#如果SSH密码为空,那么SSH会不停弹出输入密码的窗口,可以先使用telnet进去修改SSH密码

#初始化网络
vim /etc/config/network  #将lan的ipaddr修改为192.168.3.1
reboot

继续阅读

第 10 页,共 150 页« 最新...8910111213...203040...最旧 »