一.检查是否安装Linux Samba客户端和服务器端:
1. 检查:
- [root@localhost ~]# rpm -qa|grep Linux Samba
- Linux Samba-3.0.23c-2 -----服务器端
- Linux Samba-client-3.0.23c-2 -----客户端端
- Linux Samba-common-3.0.23c-2
RHEL5默认只安装了客户端。
2. 安装:
可以在安装盘的第二张光盘Server下找到服务器端安装:rpm -ivh /mnt/Server/Linux Samba-3.0.23c-2.i386.rpm 然后启动Linux Samba服务:输入 ntsysv 在界面中空格选中smb 服务,确认离开。
3.关闭selinux:
SELinux(Security-Enhanced Linux) 是美国国家安全局(NAS)对于强制访问控制的实现,是 Linux® 上的新安全子系统。NSA是在Linux社区的帮助下开发了一种访问控制体系,在这种访问控制体系的限制下,进程只能访问那些在他的任务中所需要文件。SELinux 默认安装在 Fedora 和 Red Hat Enterprise Linux 上。
如果打了SELinux补丁,则Linux Samba的共享文件夹就不能访问,我们需要关闭SELinux:直接修改/etc/sysconfig/selinux selinux=disable 在/usr/sbin中setsebool -P Linux Samba_enable_home_dirs=1重启系统生效。
二.Linux Samba基础:
Linux Samba服务的主配置文件:/etc/Linux Samba/smb.confLinux Samba服务的密码文件:/etc/Linux Samba/smbpasswdLinux Samba服务的日志文件:/var/log/Linux Samba/*.log Linux Samba共享文件夹的权限是靠Linux Samba配置文件和liunux系统的文件夹权限共同控制的。配置的时候一定要注意。
三.使用Linux Samba共享Linux文件夹
介绍对Linux Samba的三种典型配置方法pub - 不需要密码,且可读写及删除文件。read-only - 不需要密码,但只可以读取文件。user1 - 需要密码,可读写及删除文件。
步骤如下:
1. 首先以root身分登录进入系统
2. 建立系统用户
新增三个linux系统用户,分别是pub,read-only,user1。可以使用shell命令,也可以使用图形界面,系统—>管理—>用户和组群完成这一步。三个用户对应主目录分别是
- /home/pub/
- /home/ read-only /
- /home/ user1/
分别赋权限:
- chmod 777 pub
- chmod 755 read-only
- chmod 700 user1
3. 建立三个Linux Samba用户对应系统用户
- smbpasswd –a pub
- smbpasswd –a read-only
- smbpasswd –a user1
系统会提示指定Linux Samba用户密码,密码可自己指定完成后,打开/etc/Linux Samba/smbpasswd文件,可以看到新增的Linux Samba用户
4. 配置主配置文件:/etc/Linux Samba/smb.con
找到[global]节点,修改安全性:security = share ----注意去掉前面的注释‘;’然后在结尾处增加:
- [pub]
- comment = Public Areas
- path = /home/pub
- browseable = yes
- guest ok = yes
- writable =yes
- [read-only]
- comment = Read-Only Areas
- path = /home/read-only
- browseable = yes
- guest ok = yes
- [user1]
- comment = Password Required
- path = /home/user1
- browseable = yes
- writable = yes
保存退出
5. 重行运行Linux Samba:终端运行命令 service smb restart
四.访问共享文件夹:
在Windows文件浏览器中,我们要通过\\IP或域名\共享目录名查看,而在Linux的Gnome文件浏览器中查看的方式是 smb://域名或ip地址/共享目录名。
本例中的三个目录,在windows中访问:pub不需要要用户名密码,有读写权限;read-only不需要用户名密码,有只读权限;user1需要密码验证(因为security = share,所以不需要验证用户名),输入步骤三中第3条设定的Linux Samba用户的users1密码即可读写访问。
如果在/etc/Linux Samba/smb.conf 中设为 security = user ,则共享文件夹都需要用户名和密码的验证。