| 关键词: nbsp samba 文件 用户 文件夹 配置 SMB var 服务器 目录 |
st1\:*{behavior:url(#ieooui) } 一.理论知识: 1.samba代替nfs的原因。 2. Windows主机之间使用SMB/CIFS协议进行文件和打印的共享。(微软的服务) 端口:445 139 3. samba的核心是两个守护进程smbd和nmbd程序。 Smbd和nmbd使用的全部配置信息全都保存在smb.conf文件中。 Smb.conf向smbd和nmbd两个守护进程说明输出什么以便共享,共享输出给谁及如何进行输出。 4.Smbd进程的作用是提供文件/打印共享。 nmbd进程是提供网络中域或者工作组内的主机进行主机名称的解析 。 二.安装(四个包1.samba 2.samba-common 3.samba-client 4.system-config-samba ) 1.rpm安装 rpm –ivh /media/cdrom/Redhat/RPM/samba* 2.源码包的安装(samba-3.0.22.tar.gz) tar xzvf samba-3.0.22.tar.gz cd samba-3.0.22/source ./configure --prefix=/usr/local/samba --sysconfdir=/etc/samba/ make make install 三./etc/samba/smb.conf主配文件的主要参数:在smb.conf文件中,注释行以“#”开头,同时每项中英文字母不区分大小写,在一行最后字符尾加 “\”,可将一行分成多行。用“;”开头的行,是可改变的配置,将“;”去掉时,该配置将取作用。 提问:grep的含义;常用参数 1. grep -v "^#" /etc/samba/smb.conf |grep -v "^;"(排除以#和;开头的行) [global] workgroup = MYGROUP ;hosts allow = 192.168.1 192.168.2 server string = Samba Server printcap name = /etc/printcap load printers = yes cups options = raw ;hosts allow = 192.168.1. 10.100.100. (注意格式 ) log file = /var/log/samba/%m.log max log size = 50 security = user [homes] comment = Home Directories browseable = no writable = yes [printers] comment = All Printers path = /var/spool/samba browseable = no guest ok = no writable = no printable = yes create mask = 0755 创建文件时 权限是755 only guest = yes 仅以匿名用户登录 [global](全局参数的设置,它对samba的功能具有很大的影响,主要用来设置整个系统规则。 workgroup= 这是你在windows中的域。 server string= 这是在windows中看到你的samba的解释。 netbios name =192.168.1.125(我linux主机IP),如果把该句注消,默认的是你LINUX机器名,不过,最好还是自己填上 dos charset=GB2312 unix charset=GB2312 加上这二句就可以正确显示中文了。 hosts allow 允许登录的linux-samba的主机名单,用IP地址给出,多个IP地址用空格分开,不在名单中的主机将不能得到samba提供的服务,这也是网络安全的一个方面。 printcap name 指定printcap文件地址,通常为/etc/printcap,包含了linux打印机的配置信息。 load printers 允许使用共享打印机时,默认值为yes。 log file = /usr/local/samba/var/log.%m max log size = 0 上面这两行则是Samba日志的相关定义。其记录文件的位置是放在/var/log/samba/%m.log,安装目录不一样,日志可不一样,后面的一条是定义日志记录文件的大小,单位是KB,如果是0的话就不限大小。 guest acount 来宾帐户,表示用哪一个Linux用户作为所要的客户连接,定义Samba缺省的用户账号,这个账号必须在/etc/passwd中。 security 指定安全模式。大多数用户使用user级的安全模式,samba用本地linux口令文件验证。 security = security_level 定义Samba的安全级别,按从低到高分为四级:share,user,server,domain。它们对应的验证方式如下: 1. share:没有安全性的级别,任何用户都可以不要用户名和口令访问服务器上的资源。 2. user:samba的默认配置,要求用户在访问共享资源之前资源必须先提供用户名和密 码进行验证。 3. server:和user安全级别类似,但用户名和密码是递交到另外一个服务器去验证,比如递交给一台NT服务器。如果递交失败,就退到user安全级。 4. domain:这个安全级别要求网络上存在一台Windows的主域控制器,samba把用户名和密码递交给它去验证。 注意: /etc/samba/lmhosts 文件提供ip和netbios名称间的解析 后面三种安全级都要求用户在本linux机器上也要系统帐户。否则是不能访问的 smb passwd file=/etc/samba/smbpasswd (设置smb密码文件的位置) username map =/etc/smbusers encrypt passwords =no 采用的时明文密码验证,如果是加密的,就改为yes 四.用户的建立 1.用户必须是系统用户。用useradd添加 2.密码用smbpasswd –a 后面跟用户名,然后会提示你输入密码 d 禁用某个用户 e 启用 X 删除 五.使用swat管理Samba服务器 1.安装swap rpm -ivh samba-swat-3.0.10-1.4E.i386.rpm 2. chkconfig swat on 3. service xinetd restart 4. http://ip:901 就可以访问了 (默认情况下,只能用本机访问) 六. testparm命令是配置文件测试工具,可以对smb.conf配置文件的语法进行检测,并显示当前配置的清单 七.Smbstatus 显示服务器的连接信息 八.Smbclient –L 192.168.1.1 显示192.168.1.1 这个服务器上的共享目录 Smbclient //192.168.1.1/aa -U aa 用用户aa访问192.168.1.1上面的aa目录 九.目录挂载 .Smbmount用于挂再linux共享目录。 smbmount //192.168.1.2/public /mnt mount -t smbfs -o username=st02 //192.168.1.2/public /mnt 十一 本科总结 1.Windows主机之间使用SMB/CIFS协议进行文件和打印的共享 2.Samba服务器在Linux /UNIX系统中实现了SMB/CIFS协议 3.Samba服务器需要运行smbd和nmbd两个服务程序 4.配置文件smb.conf是Samba服务器配置的核心 5.使用smbclient和smbmount客户端命令可以连接使用Samba服务器中的共享目录 实验 常见共享目录配置项的含义 <!--[if !supportLists]--> <!--[endif]-->comment:对共享目录的注释、说明信息 <!--[if !supportLists]--> <!--[endif]-->path:共享目录在服务器中对应的实际路径 <!--[if !supportLists]--> <!--[endif]-->browseable:该共享目录在“网上邻居”中是否可见 <!--[if !supportLists]--> <!--[endif]-->guest ok:是否允许所有人访问,等效于“public” <!--[if !supportLists]--> <!--[endif]-->writable:是否可写,与read only的作用相反 <!--[if !supportLists]--> <!--[endif]-->read only = yes <!--[if !supportLists]--> <!--[endif]-->writable 实验: 一: 建立资源,使登陆到该服务器的用户均有权使用该空间(包括读,写).编辑smb.conf文件vi smb.conf[resource]comment = local resource path = /var/samba/resource read only = no public = yes //允许guest用户访问. 建立共享文件夹mkdir -p /var/samba/resource. 由于任何人都能使用,所以得给该文件夹设置访问权限. chmod 707 /var/samba/resource. 如果想在该文件夹中放置预共享文件,而又不想花时间从别的文件夹中cp过来,此时可以使用指针.比如想共享/usr/share/doc中的文件,则可以:ln -s /usr/share/doc /var/samba/resource/doc进入/var/samba/resource ls一下,是不是出现指针文件了!二: 建立一资源,只能让用户liu全权访问.. 编辑smb.conf文件vi smb.conf[liu]comment = liupath = /var/samba/liuvalid users = liu //只允许liu访问 或者@组名public = nowritable = yes. 建立共享文件夹mkdir -p /var/samba/liu. 由于只能让liu使用,所以得给该文件夹设置访问权限. chown liu.liu /var/samba/liuchmod 700 /var/samba/liu此时该文件夹属于liu用户,并且只能由liu用户访问.例: 建立一资源,只能让root,zhang和wang访问.. 编辑smb.conf文件vi smb.conf[zhang wang]comment = zhang wangpath = /var/samba/liuvalid users = zhang wang public = nowritable = yescreate mask = 0707 create. 建立共享文件夹mkdir -p /var/samba/zhangwang. 给该文件夹设置访问权限. chmod 707 /var/samba/zhangwang此时该文件夹只能root,zhang,wang访问了.例: 建立一资源,让指定的组group2中的用户访问.. 编辑smb.conf文件vi smb.conf[group]comment = group2path = /var/samba/group2public = yeswritable = yeswrite list = @group2 //设置读写访问用户列表(read list). 建立共享文件夹mkdir -p /var/samba/group2. 给该文件夹设置访问权限. chown group2.group2 /var/samba/group2chmod 770 /var/samba/group2此时该文件夹只能由group2中的用户访问了.(3). 以上为创建共享文件夹,下面为创建共享打印机.. 配置打印机的方面有很多,比如使用redhat-config-printer命令即可调出配置菜单.. 当然smb.conf中也要设置啊:[global]printcap name = /etc/printcap //配置文件路径[printers]writable = noguest ok = yes //guest可用browseable = no //不可浏览ptrintable = yespath = /var/spool/samba //队列位置printer admin = root //打印机管理员其他配置不变或按情配置接下来再添加print驱动设置:[print$]comment = printer driverspath = /etc/samba/driversbrowseable = yesguest ok = noread only = yeswrite list = root接着创建drivers文件夹:mkdir -p /etc/samba/drivers最后给用户准备打印机驱动,并启动打印共享: 注意:例3,4是补充内容,课本上没有!!! cupsaddsmb -a -U root //-a为共享所有打印机 -U为以root身份执行cupsaddsmb命令 灵活的samba权限 read only = yes write list = aa这两行的作用:虽然该目录只读,但aa仍然能写 read only = no read list = aa 作用:虽然该目录都可写,但aa只读 本文出自 “龙哥” 博客,请务必保留此出处http://gehailong.blog.51cto.com/765312/263894 |
|
声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系
[邮箱地址] 删除
|