samba_configure.V1.0

建立独立的配置文件
1.copy smb.conf > user.smb.conf
2.在[global]中加入
include = /etc/samba/%U.smb.conf
include = /etc/samba/%G.smb.conf

关于用户控制:
public = no 不允许匿名用户访问(网上邻居看到不能访问)
browseable = no 隐藏目录(知道目录也可以访问)
valid users = 用户或列表或@用户组
writable = yes 可写(目录本身要可写)
writle list = 用户或列表或@用户组
readonly = yes 只读设置
create mask = 0744 控制客户机创建文件的权限
directory mask = 0744 控制客户机创建目录的权限

访问控制:
max connections = 最大连接数目
deadtime = 断掉连接时间(分钟)0为不限制
hosts deny = ip 地址,域名,EXECEPT
hosts allow = ip 地址,域名,EXECEPT
允许优先


smbclient命令格式:
smbclient -L //主机名或IP地址 -U 登录用户名    //列出目标主机共享资料列表
smbclient //主机名或IP地址/共享目录名 -U 登录用户名%密码      //使用共享资源
mount //目标IP或主机名/共享目录名称 挂载点 -o username=用户名
例:挂载WINDOW下的共享目录:(test也是window用户)
mount //192.168.31.138/programfiles /mnt -o username=test%test
df -h 查看挂载进来的目录
----
umount 加载点
smbtar -s server -u user -p passwd -x shareneam -t output.tar
例:smbtar -s 192.168.31.138 -u test -p test -x programfiles -t back.tar
把远程的内容备份到本地
tar tvf *.tar 查看TAR文件包里面的内容

put 登录前的目录下的文件名     //上传文件
ls
cd
rm
rmdir
get
q

企业实战与应用
实例1:员工可以在公司内流动办公,无论在任何一台机器上工作,都能把自己的文件放到服务器里,同时不能使用服务器上的SHELL
实例2:建立共享目录student,它的本机路径为“/home/student”,只有teacher组的用户可以读写该目录,student用户只能读取
实例3:公司有二个部门(sales market ),销售部和市场部都有自己单独的共享目录,只可以总经理和相应部门员工访问,并且公司员工禁止访问非本部门的共享目录


首先启动防火墙,关闭selinux   --命令:setup->frie...->自定义中选中samba
然后重启reboot
cp smb.conf smb.conf.back
man smb.conf
vi smb.conf
[global]目录下
取消注销如下:
workgroup = MYGROUP    (这里要和WIN电脑的用户组名一样)
server string = samba host(自己定义)
security = share
添加项:
[share]
comment = share
path =  /home/share   --注意目录的存在否:mkdir /home/share
public = yes

:wq(保存退出)
再执行:service smb restart  (smb 重启)

smbclient -L 192.168.31.132  (直接回车表示匿名登入)
以上是使用SHARE方式共享

================
下面使用USER方式
vi smb.conf
[global]目录下
取消注释如下:
workgroup = MYGROUP    (这里要和WIN电脑的用户组名一样)
server string = samba host(自己定义)
security = user
还有上面的注释(有关日志方面的设置)
log file = /var/log/samba/%m.log
max log size = 50
添加项:
[user]
comment = user
path =  /home/user   --注意目录的存在否:mkdir /home/user(注意目录权限问题,改用户和组为test1,linux要有test1用户,同时test1也应注册到smb用户下.查看可用:pdbedit -L.加用户test1到smb:smbpasswd -a test1)
#public = yes         --注释此项,不允许匿名访问
valid users = test1
writable = yes
#write list = test1   --同一项相似,可只写入一项

最后重启服务:service smb restart

测试:
smbpasswd -a test1
smbclient -L 192.168.31.132
smbclient  19+2.168.31.132/user -U test1%test1


实例1:员工可以在公司内流动办公,无论在任何一台机器上工作,都能把自己的文件放到服务器里,同时不能使用服务器上的SHELL
[home]
注释这行:valid users = %S
security = user   --user级别
再把[public]下的都清掉(注释掉)
新建用户:useradd tom -s /dev/null
smbpasswd -a tom

smbclient -L 192.168.31.132  (匿名)
 
smbclient -L 192.168.31.132 -U tom%tom(列出)
smbclient  192.168.31.132 -U tom%tom(登入目录)

再加用户:useradd jack -s /dev/null ---新建用户无SHELL
          smbpasswd -a jack
net use * /delete     ---断开网上邻居连接

实例2:建立共享目录student,它的本机路径为“/home/student”,只有teacher组的用户可以读写该目录,student用户只能读取

groupadd teachers
groupadd students
usermod -g students tom
usermod -g students jack
useradd -g teachers wang
useradd -g teachers zhang
smbpasswd -a zhang
smbpasswd -a wang
mkdir /home/student
chgrp students /home/students
chmod 757 /home/student/
chmod g+s /home/students

vi smb.conf
security = user   --user级别
在[public]下加入:
[student]
comment = student
path = /home/student
valid users = @students @teachers
write list = @teachers

service smb restart


实例3:公司有二个部门(sales market ),销售部和市场部都有自己单独的共享目录,只可以总经理和相应部门员工访问,并且公司员工禁止访问非本部门的共享目录

groupadd sales
groupadd markets
===
userdel -r zhang
userdel -r wang
userdel -r tom
userdel -r jack
pdbedit -x zhang
pdbedit -x wang
pdbedit -x jack
pdbedit -x tom
groupdel teachers
groupdel student
---上面是删除前面的用户和相关数据,确保如下的测试
===
cd /home
rm students
mkdir sales
mkdir markets

使用脚本:
销售部:
for user in tom jack
>do
>useradd -g sales $user
>smbpasswd -a $user
>done
NEW SMB PASSWORD:(输入密码)
pdbedit -L 查看SMB用户是否加入成功,如果不成功可单独去创建.如:smbpasswd -a tom

市场部:
for user in zhang wang
do
useradd -g markets $user
smbpasswd -a $user
done
NEW SMB PASSWORD:(输入密码)
pdbedit -L 查看SMB用户是否加入成功,如果不成功可单独去创建.如:smbpasswd -a tom

总经理:
useradd ceo
smbpasswd -a ceo

mkdir /home/sales
mkdir /home/markets
chgrp sales /home/sales
chgrp markets /home/markets
chmod g+s /home/sales/
chmod g+s /home/markets/

ls -ld /home/markets/ /home/sales

chown ceo /home/sales/
chown ceo /home/markets/

ls -ld /home/markets/ /home/sales

chmod 770 /home/markets/
chmod 770 /home/sales/
ls -ld /home/markets/ /home/sales

设置smb.conf
vi smb.conf
security = user   --user级别
注销;[homes]  --使用户的家目录不起作用
不需打印时也可注销掉:;[printers]   ---这里可使用冒号;来注销
在[public]下加入:
[sales]
comment = sales
path = /home/sales
valid users = @sales ceo    ---用户组在组名前加上@
write list = @sales ceo
create mask = 770
directory mask = 770

[markets]
comment = markets
path = /home/markets
valid users = @markets ceo    ---用户组在组名前加上@
write list = @markets ceo
create mask = 770
directory mask = 770

service smb restart   --重启服务


Samba服务搭建的注意事项:
1。防火墙和SELinux
防火墙对Samba对应的端口打开,且SELinux应该关闭(否则会出现很多错误)。

2。主机名
主机名应该指定一个主机名

3。建立Samba用户
为安全起见不创建Samba用户的系统密码,只创建Samba用户密码。
如何防止SAMBA用户来猜测系统用户---创建Samba镜像用户

4。用户的权限

5。目录的权限

6。其他事项
有网络的问题,可以尝试多登录几次,特别是在虚拟机上。


创建Samba镜像用户:
1.vi /etc/samba/smbusers
添加要创建镜像用户的samba用户
格式:tom = 123 mot      ---为tom创建了两个镜像用户123和mot

2.vi /etc/samba/smb.conf
在security = user下
添加配置文件路径:
username map = /etc/samba/smbusers

3.service smb restart    ---重启samba服务

(win下cmd->net use * /delete)


--------------------
Samba排错
(1)错误信息
(2)配置文件
(3)日志文件

测试命令testparm:
testparm
testparm /etc/samba/smb.conf 主机名 IP
测试具体机器能否访问及访问的范围

netstat -tlunp | grep service(服务名)
查看服务对应的端口

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值