设定使用者账号是很重要的一环,因为设定错误的话,当然也就任何人都没有办法登入的!在这里我们必须先要说明一下Linux 的档案系统与SAMBA 设定的使用者登入权限的相关性! - 在Linux 这个系统下,任何程序都需要取得UID 与GID (User ID 与Group ID) 的身份之后,才能够拥有该身份的权限,也才能够适当的进行存取档案等动作!
- 关于Linux 这个系统的UID 与GID 与账号的相对关系,一般记录在/etc/passwd 当中,当然也能透过NIS, ldap 等方式来取对应;
- SAMBA 仅只是Linux 底下的一套软体,使用SAMBA 来进行Linux 档案系统时,还是需要以Linux 系统下的UID 与GID 为准则!
如果上面这几点说明你没有问题了,现在就来看一下当我们在Windows 电脑上面以网路上的芳邻来连接Linux 并且进行资料的存取时,会是怎样的一个情况呢? 我们需要透过SAMBA所提供的功能来进行Linux的存取,而Linux的存取是需要取得Linux系统上面的UID与GID的,因此,我们登入SAMBA伺服器时,所利用SAMBA取得的其实是Linux系统里面的相关账号!这也就是说,在SAMBA上面的使用者账号,必须要是Linux账号中的一个! 所以说,在不考虑NIS或LDAP等其他账号的验证方式,单纯以Linux本机账号(/etc/passwd)作为身份验证时, 在Samba伺服器所提供可登入的账号名称,必须要存在于/ etc/passwd当中! 这是一个很重要的概念!例如你要先有dmtsai在/etc/passwd当中后,才能将dmtsai加入Samba的使用者当中。这都是很基本的账号权限概念,如果你觉得这里阅读方面有问题,若不考虑鸟哥的解释不良,表示你必须要回去读读基础篇了~ ^_^ 现在我们知道需要新增smb1, smb2, smb3 三个用户,且这三个用户需要加入users 群组。此外,我们之前还建立过student 这个用户,假设这四个人都需要能用Samba 服务,那么除了新增用户之外,我们还需要利用pdbedit 这个指令来处理Samba 用户功能喔! # 1.先来建立所需要的各个账号,但假设student已经存在了喔!
[root@www ~]# useradd -G users smb1
[root@www ~]# useradd -G users smb2
[root@www ~]# useradd -G users smb3
[root@www ~]# echo 1234 | passwd --stdin smb1
[root@www ~]# echo 1234 | passwd --stdin smb2
[root@www ~]# echo 1234 | passwd --stdin smb3
# 2.使用pdbedit指令功能
[root@www ~]# pdbedit -L [-vw] <==单纯的察看账号资讯
[root@www ~]# pdbedit -a|-r|-x -u账号 <= =新增/修改/删除账号
[root@www ~]# pdbedit -a -m -u机器账号 <==与PDC有关的机器码
选项与参数:
-L :列出目前在资料库当中的账号与UID 等相关资讯;
-v :需要搭配-L 来执行,可列出更多的讯息,包括家目录等资料;
-w :需要搭配-L 来执行,使用旧版的smbpasswd 格式来显示资料;
-a :新增一个可使用Samba 的账号,后面的账号需要在/etc/passwd 内存在者;
-r :修改一个账号的相关资讯,需搭配很多特殊参数,请man pdbedit;
-x :删除一个可使用Samba 的账号,可先用-L 找到账号后再删除;
-m :后面接的是机器的代码(machine account),与domain model 有关!
# 2.1开始新增使用者吧!
[root@www ~]# pdbedit -a -u smb1
new password: <==输入4321这个密码瞧瞧
retype new password: <==再输入一次吧!
Unix username: smb1 <==底下为输入正确后的显示结果!
NT username:
Account Flags: [U ]
User SID: S-1-5-21-4073076488-3046109240-798551845-1000
Primary Group SID: S-1-5-21-4073076488-3046109240-798551845-513
Full Name:
Home Directory: \\vbirdserver\smb1
HomeDir Drive:
Logon Script:
Profile Path: \\vbirdserver\smb1\profile
Domain: VBIRDSERVER
Account desc:
Workstations:
Munged dial:
Logon time: 0
Logoff time: 9223372036854775807 seconds since the Epoch
Kickoff time: 9223372036854775807 seconds since the Epoch
Password last set: Fri, 29 Jul 2011 13:19:56 CST
Password can change: Fri, 29 Jul 2011 13:19:56 CST
Password must change: never
Last bad password : 0
Bad password count : 0
Logon hours : FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
#你可以发现其实讯息非常的多!若需修改细部设定,请man pdbedit吧!
[root@www ~]# pdbedit -a -u smb2
[root@www ~]# pdbedit -a -u smb3
[root@www ~]# pdbedit -a -u student
# 2.2查询目前已经存在的Samba账号
[root@www ~]# pdbedit -L
smb1:2004:
smb3:2006:
smb2:2005:
student:505:
# 仅会列出账号与UID 而已呦!
# 2.3尝试修改与删除smb3这个账号看看
[root@www ~]# smbpasswd smb3
New SMB password:
Retype new SMB password:
# 修改密码比较特殊,管理密码参数是使用pdbedit,修改密码得要用smbpasswd 呦!
[root@www ~]# pdbedit -x -u smb3
[root@www ~]# pdbedit -Lw
#此时你就看不到smb3这个用户啰!所以测试完请立即将它加回来!
|
以后如果有需要新增额外的使用者账号,若该账号原本不存在,则使用useradd 再以pdbedit -a 去新增。若已经存在于Linux 的实体账号,直接用pdbedit -a 新增即可。同时要注意,管理TDB 资料库格式建议使用pdbedit 这个新的玩意儿来处理,smbpasswd 仅剩下修改密码的功能需记忆即可!
|