我有一些用户名是数字的用户账户(我知道Ubuntu 不喜欢这样, 对不起)
在这种情况下,我有一个18000011
属于该组成员的用户名students
:
~$ groups 18000011
18000011 : students teacher
我无法按正常方式从组中删除用户:
~$ sudo ldapdeleteuserfromgroup 18000011 students
Group students not found (or 18000011 is not a member of group students)
因此我尝试使用 UID18085
而不是用户名:
~$ getent passwd | grep 18000011
18000011:x:18085:5000:FIRSTNM LASTNM:/home/18000011:/bin/bash
但同样的问题:
~$ sudo ldapdeleteuserfromgroup 18085 students
Group students not found (or 18085 is not a member of group students)
我做错了什么?或者我怎样才能删除该组?
编辑: 其他ldap脚本正在处理此用户。例如,我可以使用 GID 设置用户的主要组:
~$ getent group | grep teacher
teacher:*:10004:90158,14000154,18000011
~$ sudo ldapsetprimarygroup 18000011 10004
Successfully set primary group for user 18000011 (to group 10004)
编辑2:看着ldapdeleteuserfromgroup
:
~$ ldapdeleteuserfromgroup
Usage : /usr/sbin/ldapdeleteuserfromgroup <username | dn> <groupname | gid>
它不接受用户 ID,而是接受 dn,因此我尝试查找用户的 dn:
~$ sudo lsldap | grep "18000011"
dn: uid=18000011,ou=Users,dc=hackerspace,dc=tbl
但是我不确定如何输入 dn,尝试了显而易见的方法,但没有成功:
~$ sudo ldapdeleteuserfromgroup "uid=18000011,ou=Users,dc=example,dc=com" students
Group students not found (or uid=18000011,ou=Users,dc=example,dc=com is not a member of group students)
编辑3我还尝试了以上所有方法,用 gid5000
代替组名,以防万一:
~$ getent group | grep studentsstudents:*:5000: