博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
linux samba安装配置 总结
阅读量:4138 次
发布时间:2019-05-25

本文共 2885 字,大约阅读时间需要 9 分钟。

学习Linux嵌入式开发,原来草草按网上步骤设置的samba发现在共享目录中创建的文件目录因为是匿名用户,老是要修改文件权限,因此特花了些时间研究下samba设置共享目录的安装使用,总结如下:

1.samba安装,我使用的是ubuntu10.10的linux操作系统,其它系统可能操作有所不同:

--1.安装samba服务:sudo apt-get install samba        //安装该服务,就可以使用samba共享目录了

--2.安装smbfs sudo apt-get install smbfs                        //??
--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 = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .
 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

[stonecao]

 comment = stonecao
 path = /home/stonecao
 writeable = yes
; browseable = yes
 valid users = stonecao

creat mask = 0777  //window环境共享目录下新建文件权限的掩码(即要把原用户权限与掩码进行与计算得到通过共享创建文件的权限)

上面是我的一个可用的配置例子,另外对应的/etc/samba/smbusers里面的内容如下:

stonecao = stonecao

5.当我们修改好smb.conf文件后我们需要检查一下我们的配置是否有语法错误,使用命令:

testparm

6.smbpasswd添加samba账号

smbpasswd [options] [username]

--1.添加一个samba账号:
smbpasswd -a stonecao //注意stonecao必须是已经存在的linux账号
--2.删除一个samba账号:
smbpasswd -x stonecao
--3.使一个smaba账号不可用:
smbpasswd -d stonecao
--4.使一个账号可用:
smbpasswd -e stonecao

//暂时没有搞清楚smbpasswd怎样添加一个windows用户名与linux用户名不一样的一个samba账号,里面有一个选项-U,不过我没有试成功过

//当你使用smbpasswd -a添加一个samba用户时需要你设置密码,密码就是你在window环境访问samba共享目录时的密码

7.前面我安装的时候安装了一个图形化配置工具,我建议简单起见使用图形化配置工具就好的,毕竟我们不是来研究samba的:

--1.使用图形化界面添加一个samba用户:

系统/系统管理/samba打开后:首选项/samba用户你可以添加一个samba用户:

unix用户:指一个linux可用的用户,如root

windows用户名:指你访问samba共享目录时登陆的用户名
samba密码;设置window访问samba共享目录时的密码

--2.在上面界面你还可以编辑和删除用户

--3.首选项/服务器配置修改对应的配置项为smb.conf中[global]配置项,不过比较简单

8.可能你修改了用户或者密码后,发现在windows环境老提示错误不能访问,这个时候需要先断开网络映射再重新访问,它才会提示你重新输入用户名密码

9.windows环境访问samba共享目录:举例:\\192.168.112.129

 

转载地址:http://efhvi.baihongyu.com/

你可能感兴趣的文章
为什么TCP服务端需要调用bind函数而客户端通常不需要呢?
查看>>
什么是socket的name? 怎样给socket取一个name? --- 以生宝宝并取名的过程再谈socket、name、bind和socket name
查看>>
如何偷窥到socket对应的内核缓冲区中有什么数据? 有多少数据?---利用recv的MSG_PEEK和ioctlsocket的FIONREAD
查看>>
《Windows Sockets 网络编程》. Bob Quinn & Dave Shuttle (非常实用的Windows编程书籍)
查看>>
为什么有时ping不通www.baidu.com但可以访问www.baidu.com网页?
查看>>
从telnet www.baidu.com 80 聊聊我经历过的tcp“三次握手”失败---顺便验证telnet是基于tcp协议的
查看>>
C++智能指针auto_ptr源码完全解析---以微软auto_ptr为例来探讨auto_ptr的用法
查看>>
我修改的问题单居然回归不通过?---趣闻二则
查看>>
模拟linux的shell---顺便复习一下fork,execlp和waitpid函数
查看>>
如何获取linux shell中ls进程的进程号?---有趣的问题!
查看>>
利用thread来简要模拟signal函数功能
查看>>
linux shell “永久环境变量”、“临时环境变量”和“普通变量“之完全解读
查看>>
配置文件的重要性------轻化操作
查看>>
cp后文件时间会变, mv后文件时间不会变化------定位一个低概率core问题时, 差点误导了自己
查看>>
又是缓存惹的祸!!!
查看>>
为什么要实现程序指令和程序数据的分离?
查看>>
我对C++ string和length方法的一个长期误解------从protobuf序列化说起(没处理好会引起数据丢失、反序列化失败哦!)
查看>>
一起来看看protobuf中容易引起bug的一个细节
查看>>
无protobuf协议情况下的反序列化------貌似无解, 其实有解!
查看>>
make -n(仅列出命令, 但不会执行)用于调试makefile
查看>>