Samba安装与配置

2025-11-19 06:00:18

1、查看是否安装了samba

rpm -q samba

查到samba-3.0.33-3.28.el5说明已安装

默认安装了客户端:

rpm -qa | grep samba

samba-client-3.0.33-3.28.el5

samba-common-3.0.33-3.28.el5

2、安装

yum -y install samba


启动服务

/etc/rc.d/init.d/smb start

service smb start


两个进程:

smbd   ---> tcp 139  用户验证和文件共享

nmbd   --->udp 137  138  浏览共享和计算机名解析

ps -le | grep smbd

ps -le | grep nmbd

3、一 用户管理

1.首先必须是系统用户,添加Linux系统用户

useradd 用户名   #添加用户

passwd 用户名   #设置密码


2.然后设置samba的密码(samba自带的用户管理工具)

smbpasswd -a 用户名  #加用户

smbpasswd 用户名  #改smb密码

root可以使用管理命令(系统自动的samba用户数据库管理工具)

pdbedit -a username:新建Samba账户。

pdbedit -x username:删除Samba账户。

pdbedit -L:列出Samba用户列表,读取/etc/samba/passdb.tdb数据库文件。

pdbedit -Lv:列出Samba用户列表的详细信息。

4、二.建立samba连接

为了安全,不要把root设为samba用户

重启服务

service smb restart

Windows中如何连接:

\\服务器地址

\\192.168.88.88

可以映射网络驱动器

net use

net use * /del /y

net use \\192.168.88.88 "password" /user:your_user

查看有哪些客户端连接

smbstatus

查看日志

cat /var/log/samba


------------------------------

如果不能访问:

防火墙

iptables -L 查看

iptables -F 清空防火墙规则,拆除防火墙

即时生效,重启后复原 

service iptables stop

永久性生效,重启后不会复原

chkconfig iptables off 

SELinux

允许访问

setsebool -P samba_enable_home_dirs on

或完全禁用SELinux:

vi /etc/selinux/config 改为SELINUX=disabled

5、三、配置文件

如果查找配置文件在哪里

rpm -ql samba-common | grep smb.conf


编辑配置文件

vi /etc/samba/smb.conf

[global] 全局环境选项

workgroup 工作组或域

server string 描述信息

security 安全模式,有如下选项

share 不验证权限,直接共享

user 缺省,推荐,由Linux Samba服务器做验证

server 第三方主机验证

domain 第三方主机验证(必须是Windows 域控制器)

hosts allow 哪些主机可以访问(如果没有配置,全部主机都可以)

如果是ip直接写上,如果是ip段只写网段部份,多个用空格分隔 如: 192.168.1. 192.168.2.

哪些主机不允许访问,hosts deny 一般不和hosts allow同时使用

log file 日志文件(最好启用日志)

[homes]  只要有这个配置段,用户默认就可以通过自己的用户名,访问自己的宿主目录

comment  描述

browseable=no 无权限访问的目录,不显示出来

writable=yes 可写

6、四、samba实例

需求:配置/software目录的共享,允许user1 user2两个用户完全访问

创建目录

mkdir /software

添加用户

useradd user1

passwd user1

useradd user2

passwd user2

添加samba密码

pdbedit -a user1

pdbedit -a user2

编辑配置文件

vi /etc/samba/smb.conf

建议写在配置文件尾

[software]   共享名,不能有特殊符号,一般是字母或数字组成

path = /software  共享目录,只能是一个目录

valid users = user1 user2 多个用空格分开。如果没配置此项,所有用户都可以访问

writable = yes    写权限 yes  no

Samba服务器配置检测命令

testparm

如果配置文件写错,例valid users=user1 写成了valid user=user1 将提示

重启服务

/etc/rc.d/init.d/smb restart

设置目录权限

直接改为777,但这样不安全

chmod -R 777 /software

创建一个用户组,改变目录所属组,对组授权,然后从新连接就可以了

groupadd softadmin

usermod -aG softadmin user1

usermod -aG softadmin user2

chgrp softadmin /software

chmod g+w /software

推荐用acl

setfacl -R  -m u:user1:rwx /software #让user1有rwx权限 (已有目录或文件)

setfacl -R  -m d:u:user1:rwx /software #让以后新创建的文件或目录,user1也有rwx权限

setfacl -R  -m u:user2:rwx /software

setfacl -R  -m d:u:user2:rwx /software

windows 下,重新连接

net use * /del /y

net use \\192.168.88.88 "password" /user:your_user


提供一个共享目录,所有有户都能使用,却不能删除别人的文件

[test]

path = /test

wrieable=yes

然后,设置目录为  chmod 1777 /test

7、五、扩展

Linux之间使用samba

问题:如何在linux中使用SAMBA服务器的共享目录?

解答:mount  //192.168.88.88/software  /mnt/software  -o username=your_user

>输入密码

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢