[root@nod2 ~]# yum -y install samba



smb.conf配置文件的主要段



[global]



workgroup = 指定工作组或域



server string = 描述信息



security = 指定安全模式[share无权限验证、user缺省值,由samba服务器验证、server、domain]



hosts allow = 限定主机访问



log file = 指定日志文件存放位置



max log size = 指定日志文件大小



[homes]



comment = Home Directories



browseable = no 无权限共享目录隐藏



writable = yes




准备工作,关闭防火墙,关闭selinux




应用场景一:允许sky与jack用户可能通过windows客户端访问共享目录/data,并具有读写权限



[root@nod2 ~]# useradd -s /sbin/nologin sky 访问共享的用户可以不给予登入系统的权利



[root@nod2 ~]# useradd -s /sbin/nologin jack



[root@nod2 ~]# smbpasswd -a sky



[root@nod2 ~]# smbpasswd -a jack



可以不设置sky jack在系统中的密码



[root@nod2 ~]# groupadd dataadmin



[root@nod2 ~]# usermod -G dataadmin jack



[root@nod2 ~]# usermod -G dataadmin sky



[root@nod2 ~]# id jack



uid=501(jack) gid=501(jack) groups=501(jack),502(dataadmin)



[root@nod2 ~]# id sky



uid=500(sky) gid=500(sky) groups=500(sky),502(dataadmin)



[root@nod2 ~]# chgrp dataadmin /data



[root@nod2 ~]# chmod g+w /data



[root@nod2 ~]# ll -d /data



drwxrwxr-x. 2 root dataadmin 4096 Nov 29 12:48 /data



[root@nod2 ~]# vi /etc/samba/smb.conf 在文件的最后添加



[data]



comment = this is test!



path = /data



writable = yes



valid users = sky jack



[root@nod2 ~]# testparm /etc/samba/smb.conf 检测语法,这一步很重要,因为有些设置错误后,



samba会忽略掉,所以设置项不生效,启动依然成功



[root@nod2 ~]# /etc/rc.d/init.d/smb restart 有些版本的samba可以不重新启动服务



[root@nod2 ~]# /etc/rc.d/init.d/nmb restart



samba有两个守护进程:smbd监听139TCP端口



nmbd监听137和138UDP端口



smbd进程的作用是处理smb请求包,负责用户验证和文件共享;nmbd进程的作用是处理浏览共享各计算机名称解析。



所在windows下用"运行-->\\IP地址"的方式来访问共享时,可以不启用nmb这个服务,也一样可以使用共享资源。



在windows 下用命令"net use"查看已建立的连接,用“net use \\192.168.133.132\IPC$ /delete”命令



清除已建立的连接。




这样建立起来共享用户可以使用的分区空间就是/data这个分区的大小,所以还得配合quota来加以限制




[root@nod2 ~]# vi /etc/fstab



UUID=48e7731f-4a10-4183-801e-9868a0bb171d /data ext4 defaults,usrquota 1 2



[root@nod2 ~]# mount -o remount /data 重新挂载分区,写入usrquota选项



[root@zhaochj ~]# mount | grep data 验证usrquota生效



/dev/sda3 on /data type ext4 (rw,usrquota)



建立管理磁盘配额的数据库文件aquota.user,这一步有些资料说要进入单用户模式执行,但我没有这样做也一样有效



启用配额



[root@nod2 ~]#edquota sky



Disk quotas for user sky (uid 500):



Filesystem blocks soft hard inodes soft hard



/dev/sda3 0 0 10240 0 0 0



这里限制了10M的大小,警告数值没有设置



[root@zhaochj ~]# quota sky



Disk quotas for user sky (uid 500): none



用户在没有使用过quota时状态是none



[root@zhaochj ~]# repquota -a



*** Report for user quotas on device /dev/sda3



Block grace time: 7days; Inode grace time: 7days



Block limits File limits



User used soft hard grace used soft hard grace



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



root -- 15 0 0 2 0 0



这里也报告没有sky用户的信息



但在windows中访问过共享后就有记录了



这样配置后,就达到了一个有限制的共享设置



如果想对让用户访问/data目录后对其他用户所创建的文件有查看的权限,而没有修改和删除的权限,那么应该如下设置



[root@zhaochj ~]# chmod 1777 /data 设置粘着位的权限,这样即可