linux smb 小实验
一、 某企业需要用linux的samba来实现文件服务器,具体要求如下:
(1)samba服务器工作组为workgruop,netbios 名为linux ,要求对方访问者进行身份验证。
(2)为了每个员工在文件服务器上创建帐户,且共享每个员工的个人主目录,该共享只为用户自己开放。
(3)共享/share/pub目录,主要用于员工下载资源,该共享允许所有员工只读访问。
(4)共享/share/exchange目录,主要用于员工上传资源,并与其他员工分享。该共享允许所有员工读写访问,但每个员工只读删除自己上传的资料。
(5)共享/share/report目录,主要用于财务部共享报表,该共享只读财务部员工只读访问,其中财务主管读写访问。
安装samba 软件
#rpm -ivh samba.... samba-common samba-client-........
配置如下:
#mkdir /share
#mkdir /share/pub /share/exchange /share/report
#vi /etc/samba/smb.conf
workgroup = workgroup
netbios name = linux
security = user
encrypt passwords = yes
、、、、、、、、
[pub]
comment=linux's pub
path=/share/pub
public = yes
read only = yes
[exchange]
comment = linux's exchange
path=/share/exchange
writable = yes
public = yes
[report]
comment = linux's report
path = /share/report
public = no
valid users = @cw
writable = wen
保存退出配置文件
共享/share/exchange目录,要求每个员工只读删除自己上传的资料。我们知道在smb配置文件中是无法做到的,但是,目录访问权限的粘着位是完全可以做到的。我们知道smb配置文件和目录访问两者取其最严格的部分。
#chmod 1777 /share/exchange
手动启动
#service smb restart
自动启动
#ntsysv --level 345(rhel 9)
在企业版5、centos linux默认启用了selinux,selinux做大量的限制,将影响服务的使用,可停用,方法如下:
#vi /etc/selinux/config
...............
SELINUX =disable
.................
#reboot
二、samba配置文件的选项
(1)/etc/samba/smb.conf 的一些常用选项
——workgroup 设置工作组名
——server string = 字符串 设置服务器的描述信息
——netbios name = 字符串 设置服务器的NETBIOS名
——security = share / user /server
设置服务器的安全级别,share 表示共享级访问,user 表示需要用户验证,server 表示需要用户认证,但是由另一台服务器进行验证。
——encrypt passwords = yes / no 设置是否加密口令
——passwrod server = ip 地址 设置口令服务器的位置,当security = server 时才有效
——smb passwd file = 路径 设置用户口令文件的位置
——hosts allow = ip地址 /ip 地址开头部分
设置拒绝访问samba的客户机列表
——load printers = yes /no 设置samba是否自动加载打印机
——printing = cups / aix /bsd /lpr /... 设置打印机管理模式
——printcap name = 路径 设置打印队列存放位置
——log file = 文件路径 设置日志文件的位置
——socket address = ip 地址 设置samba监听的IP地址
——admin user = 用户名 设置samba 服务的启动帐户
——getwd cache = yes /no 设置samba服务是否启用文件缓存
——wins support = yes /no 设置samba是否支持wins 解析功能
——wins server = ip 地址 设置wins服务器地址
(2)共享定义(samba服务默认共享用户主目录与打印机)
——comment = 字符串 设置共享资源的描述信息
——path = 路径 设置共享路径
——public = yes /no 设置资源共享是否允许所有用户访问(除来宾帐户外)
——guest ok = yes /no 设置是否允许来宾用户访问共享
——read only = yes /no 设置共享是否为只读共享
——writable = yes /no 设置共享是否为读写共享
——valid users = 用户名(@组名)设置允许访问共享的用户列表和组
——invalid users = 用户名(@组名)设置拒绝访问共享的用户列表和组
——read list = 用户名...... 设置只读访问的用户列表
——write list = 用户名...... 设置读写访问的用户列表
——directory mask = 权限值 设置新建目录的默认权限
——create mask =权限值 设置新建文件的默认权限
——printable = yes /no 设置是否允许打印
——browseable =yes /no 设置是否允许浏览共享目录内容
——root preexec = 命令路径 设置客户机连接共享时自动执行指定的命令
——root postexec = 命令路径 设置客户机断开共享时自动执行指定的命令
注:root preexec和root postexec 可以实现共享光驱效果,配置文件修改完成后,可用testparm 命令检查配置文件的语法问题。
三、samba客户端工具
1、sambaclient
作用:查看其他主机的共享资源或连接其他主机共享资源共享
实例:——查看192.168.2.5主机上有哪些共享
#smbclient -L 192.168.2.5 -Uadministrator
——连接192.168.2.5主机上的tc共享
#smbclient //192.168.2.5/tc -Uadministrator
smb:\>
2、smbmount
作用:加载远程共享目录到本机上
实例 :——加载192.168.2.5主机上的共享目录tc到本机的/abc下
#smbmount //192.168.2.5/tc /abc -ousername=administrator