[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)
[root@nod2 ~]# quotacheck -cvu /data
建立管理磁盘配额的数据库文件aquota.user,这一步有些资料说要进入单用户模式执行,但我没有这样做也一样有效
[root@nod2 ~]# quotaon /data
启用配额
[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 设置粘着位的权限,这样即可