samba通过字符界面设置过程(字符界面添加samba的windows的登陆用户名)
学习Linux嵌入式开发,原来草草按网上步骤设置的samba发现在共享目录中创建的文件目录因为是匿名用户,老是要修改文件权限,因此特花了些时间研究下samba设置共享目录的安装使用,总结如下:
1.samba安装,我使用的是Ubuntu12.00的linux操作系统,其它系统可能操作有所不同:
--1.安装samba服务:sudo apt-get install samba //安装该服务,就可以使用samba共享目录了 --2.安装smbfs sudo apt-get install smbfs //smb文件系统 --3.安装图形化配置工具sudo apt-get install system-config-samba //安装后可在 系统/系统管理菜单中看到samba工具
2.两个配置文件说明:
--1.samba配置文件位置:/etc/samba/smb.conf //samba服务配置文件
--2.samba用户配对文件:/etc/samba/smbusers
3.samba启动脚本:samba的启动脚本在/etc/rc.d/init.d/smbd
//要注意的是每次不管是用图形化工具修改samba配置后,都要执行下面命令来重新载入配置配置才能够起作用
--重载samba配置:/etc/rc.d/init.d/smbd reload --重启samba服务:/etc/rc.d/init.d/smbd restart
4.smb.conf的语法 --1.[global]部分定义的参数用来控制Samba的总特性。除global部分外,每一部分都定义了一个专门的服务 workgroup = workgroup //设置工作组 server string = %h server (Samba, Ubuntu) //设置主机名 security = user //安全设置 user表示用户级别,另一个好像是share:共享级别 [global] 段中还定义了日志文件目录和锁定文件的位置。日志文件在解决故障和完善系统时是很有用的,锁定文件可以阻止多个用户同时修改相同的文件 --2.[homes] 段中的设置控制了每一个用主目录的共享权限。comment 参数指定的字符串在你浏览本机资源时出现在指定资源的旁边。 browseable 参数控制一项服务是否能够出现在网络资源浏览表中 read only 只读 --添加一个共享目录 [stonecao] //一个新的共享服务 comment = stonecao path = /home/stonecao //共享服务目录 writeable = yes //权限可写 ; browseable = yes valid users = stonecao //需要用户验证 验证用户一个一个可用的samba用户
具体很多配置项我也不是很懂,毕竟我只要它能用就好了,我把我本机配置的一个smb.conf列出如下:
[global] workgroup = workgroup server string = %h server (Samba, Ubuntu) dns proxy = no log file = /var/log/samba/log.%m max log size = 1000 syslog = 0 obey pam restrictions = yes unix password sync = yes passwd program = /usr/bin/passwd %u passwd chat = *Entersnews*spassword:* %nn *Retypesnews*spassword:* %nn *passwordsupdatedssuccessfully* . pam password change = yes map to guest = bad user usershare allow guests = yes username map = /etc/samba/smbusers security = user ; guest ok = no ; encrypt passwords = yes ; guest account = nobody
[edu] comment = edu path = /home/edu writeable = yes ; browseable = yes valid users = edu
creat mask = 0777 //window环境共享目录下新建文件权限的掩码(即要把原用户权限与掩码进行与计算得到通过共享创建文件的权限)
上面是我的一个可用的配置例子,另外对应的/etc/samba/smbusers里面的内容如下:
edu = edu
5.当我们修改好smb.conf文件后我们需要检查一下我们的配置是否有语法错误,使用命令:
testparm
6.smbpasswd添加samba账号
smbpasswd [options] [username] --1.添加一个samba账号: smbpasswd -a edu //注意edu必须是已经存在的linux账号 --2.删除一个samba账号: smbpasswd -x edu --3.使一个smaba账号不可用: smbpasswd -d edu --4.使一个账号可用: smbpasswd -e edu
//添加一个windows用户名与linux用户名不一样的一个samba账号,更改samba下的smbusers文件,添加 edu = 你想要设置的windows登陆名即可。
//当你使用smbpasswd -a添加一个samba用户时需要你设置密码,密码就是你在window环境访问samba共享目录时的密码