以实例配置验证samba服务 题目: 公司有3个部门,财务、人事、技术。 要求: 1、每个部门在文件服务器上都有一个公共文件夹,该文件夹只能被相应部门的员工访问,并向里面写文件,但是不能互删,也不能被非本部门员工访问。 2、每个员工在文件服务器上有一个自己独立的文件夹,该文件夹只能被该员工本人访问,其它任何人没有访问权限。 3、服务器上有一个人事部门用于发布公司通告的公共文件夹,该文件夹可以被公司所有员工查看,但只有人事部门的经理能管理文件。 4、技术部有3个人,j02、j02、j03,每个人有一个目录,该目录只有其本人可以上传、修改、删除文件,其它人只能看。 5、对能够上传文件的用户做磁盘配额,防止硬盘撑爆。

解题: -------------------第一步:准备工作------------------- //准备工作1:将sda2和sda5分别挂在opt目录和home目录,以便最后一个操作:磁盘配额------ [root@localhost ~]# df -hT //如图显示 //准备工作2:将防火墙与selinux关闭---- [root@localhost ~]# systemctl stop firewalld [root@localhost ~]# setenforce 0 //此时会提示"SElinux is disabled" [root@localhost ~]# systemctl status firewalld //检查防火墙状态(确认为inactive(dead)) //如图显示

------------------第二步:建立目录、组、帐户并配置相应的权限----------------- //建立三个组:caiwu、renshi、jishu [root@localhost ~]# groupadd caiwu [root@localhost ~]# groupadd renshi [root@localhost ~]# groupadd jishu [root@localhost ~]# cat /etc/group //检查是否创建成功 //在opt目录建立三个目录 [root@localhost ~]# cd /opt [root@localhost opt]# mkdir caiwu renshi jishu [root@localhost opt]# ls //查看是否建立成功 //修改目录属性 [root@localhost opt]# ls -l //查看目录属性 //如图显示 [root@localhost opt]# chown :caiwu caiwu //修改目录属组 [root@localhost opt]# chown :jishu jishu [root@localhost opt]# chown :renshi renshi [root@localhost opt]# ls -l //查看目录属性 //如图显示 [root@localhost opt]# chmod 1770 caiwu //修改目录权限 [root@localhost opt]# chmod 1770 jishu [root@localhost opt]# chmod 1770 renshi [root@localhost opt]# ls -l //查看目录属性 //如图显示 [root@localhost opt]# mkdir rpublic //建立人事部公共目录 [root@localhost opt]# ls -l //查看目录属性 [root@localhost opt]# chown r01 rpublic/ //修改人事部公共目录属主 [root@localhost opt]# ls -l //查看人事部公共目录属性 //如图显示 //人事部建立三个用户,并将r01定义为人事经理 [root@localhost opt]# useradd -g renshi -s /sbin/nologin r01
[root@localhost opt]# useradd -g renshi -s /sbin/nologin r02
[root@localhost opt]# useradd -g renshi -s /sbin/nologin r03 //财务部建立三个用户 [root@localhost opt]# useradd -g caiwu -s /sbin/nologin c01 [root@localhost opt]# useradd -g caiwu -s /sbin/nologin c02 [root@localhost opt]# useradd -g caiwu -s /sbin/nologin c03 //技术部建立三个用户 [root@localhost opt]# useradd -g jishu -s /sbin/nologin j01 [root@localhost opt]# useradd -g jishu -s /sbin/nologin j02 [root@localhost opt]# useradd -g jishu -s /sbin/nologin j03 [root@localhost opt]# cat /etc/passwd //查看用户是否建立成功 //在opt目录下建立j01、j02、j03的目录 [root@localhost opt]# mkdir j01 j02 j03 [root@localhost opt]# ls -l //查看目录属性 //如图显示 [root@localhost opt]# chown j01 j01 //修改三个目录的属主为用户本身 [root@localhost opt]# chown j02 j02 [root@localhost opt]# chown j03 j03 [root@localhost opt]# ls -l //查看目录属性 //如图显示

------------------第三步:配置samba服务器--------------------------- //基于用户验证的共享 [root@localhost ~]# vi /etc/samba/smb.conf //查找这一行,确认security = user 保存退出 [root@localhost opt]# yum install -y samba //安装samba服务器 [root@localhost opt]# cd /etc/samba [root@localhost samba]# ls //查看哪个是samba服务器配置文件 [root@localhost samba]# cp smb.conf smb.conf.bak //将配置文件备份 [root@localhost samba]# vi smb.conf //修改samba服务器配置文件 最后添加三组: [caiwu] path = /opt/caiwu //共享目录的路径 valid users = @caiwu //允许访问的组 write list = @caiwu //允许写入的组

[renshi] path = /opt/renshi valid users = @renshi write list = @renshi

[jishu] path = /opt/jishu valid users = @jishu write list = @jishu create mask = 0440 //设置文件权限,属主与属组只能访问不能修改,其它人不能访问 directory mask = 0550 //设置文件夹权限,属主与属组只能访问与执行不能修改,其它人不能访问 [rpublic] path = /opt/rpublic public = yes //允许目录权限下所有人访问 write list = r01 [jishu01] path = /opt/j01 write list = j01 public = yes

[jishu02] path = /opt/j02 write list = j02 public = yes

[jishu03] path = /opt/j03 write list = j03 public = yes 保存退出 [root@localhost samba]# testparm //检查语法有无错误 //如图 [root@localhost samba]# systemctl start smb //启动smb服务 [root@localhost samba]# netstat -anpt | grep smb //过滤检查smb服务端口是否正常 //如图 //将三个部门的用户加入到samba服务器,并设置密码 [root@localhost samba]# pdbedit -a r01 //输入密码,该密码为用户的samba数据库密码 [root@localhost samba]# pdbedit -a r02 [root@localhost samba]# pdbedit -a r03 [root@localhost samba]# pdbedit -a c01 [root@localhost samba]# pdbedit -a c02 [root@localhost samba]# pdbedit -a c03 [root@localhost samba]# pdbedit -a j01 [root@localhost samba]# pdbedit -a j02 [root@localhost samba]# pdbedit -a j03 [root@localhost samba]# pdbedit -L //查看samba数据库用户 //如图 [root@localhost samba]# systemctl restart smb //重启samba服务

----------------第四步:测试验证------------------------ //人事部公共目录下,写入文件,给其它帐户测试 [root@localhost samba]# ls --help > /opt/rpublic/test.txt 在微软客户下

  1. 运行—输入linux服务器IP地址,例如:\192.168.80.180 回车 //如图显示
  2. 弹出窗口需输入samba服务器帐号与密码进入 //如图显示
  3. 进入后可以看到所有的文件夹,并且进入自己的目录及属组目录查看验证
    //如图显示
  4. 进入自己的目录上传文件应该是没有问题的,进入别人的目录修改文件或删除文件应该是不允许的
  5. 如果要进入别的部门的目录,会提示要输入其它部门的帐户 //注意:如果进不了目录或者其它问题 //解决方案:运行—cmd—回车,输入"net use /d *"回车,表示清除共享访问缓存,多清几次,待五秒以上,再重新登录测试 共享目录要先关掉,另外samba服务器重启,"systemctl restart smb" 6.切换其它用户测试文件的权限,用命令“net use /d *”清除缓存,再重新进,共享目录先要关掉

----------------第五步:做磁盘配额---------------------- //以j01组为例 //微软cmd下执行“net use /d *”,清除缓存 [root@localhost samba]# systemctl restart smb //重启samba服务 [root@localhost samba]# umount /opt //卸载opt目录 [root@localhost samba]# mount -o uquota,gquota /dev/sda2 /opt/ //重新挂载opt目录 [root@localhost samba]# mount //查看是否挂载成功 //如图显示 [root@localhost samba]# df -hT //查看硬盘设备情况
[root@localhost samba]# edquota -g jishu //对jishu组设置组配额 //详细设置如图显示 [root@localhost samba]# repquota /opt //查看该组配额详细信息及使用情况 //如图显示 [root@localhost samba]# quotaon -p /opt //查看磁盘配额激活状态 //如图显示 //验证 进微软客户端,访问某个共享文件夹,往里面写文件,直到写满弹出警告,测试成功 //一般情况下,对home目录下的文件也做配额,否则也将把文件夹塞满