免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 5266 | 回复: 4
打印 上一主题 下一主题

[ldap] 如何设置LDAP客户端映射的用户的默认SHELL? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-07-09 22:31 |只看该作者 |倒序浏览
我自己弄了台LINUX服务器,想使用另一个LINUX服务器上的LDAP服务器里的用户进行服务的验证

现在已经可以将LDAP服务器中的账户映射到本地,但是我不想让这些账户可以登录到SHELL中,所以想把这些映射上来的用户的默认SHELL都改成/sbin/nologin

但是LDAP服务器上的这些用户的默认SHELL都是/bin/bash,我没有更改LDAP服务器配置的权限,好像也没找到怎样在LDAP客户端中配置映射的用户的默认SHELL的地方

故请教大家是否有办法在LDAP客户端中更改LDAP用户的默认SHELL?或者更改LDAP用户的默认主目录也行

[ 本帖最后由 qexing 于 2008-7-13 00:43 编辑 ]

论坛徽章:
0
2 [报告]
发表于 2008-07-09 23:01 |只看该作者
一个笨办法
mv /bin/bash /bin/bash.real

cat /bin/bash

  1. #!/bin/sh
  2. if [ $USER = "root" ]
  3. then
  4.         exec /bin/bash.real
  5. else
  6.         exec /sbin/nologin
  7. fi
复制代码

论坛徽章:
0
3 [报告]
发表于 2008-07-10 12:32 |只看该作者
不会吧,这方法也太~~~
如果要改主目录难道要exec之后cd到那个目录?

呵呵,有没有直接更改的方法,因为有些服务还要判断用户的主目录呢

另外如果服务器上的SHELL是/bin/sh、/bin/ash这些之类的怎么办?

论坛徽章:
0
4 [报告]
发表于 2008-07-11 22:30 |只看该作者
你可以试试从pam入手,看看pam_limit , pam_env或其他的模块有没有可能,手头没机器,没法给个准确的结论。

论坛徽章:
0
5 [报告]
发表于 2008-07-15 12:49 |只看该作者
谢谢以上各位,问题已搞定,在/etc/ldap.conf中加一个:

nss_override_attribute_value loginShell /sbin/nologin

即可了,呵呵
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP