
1、服务端部署, 在 system1 上执行:
1.1 安装软件包并确保服务开机启动
root@system1 \~\]# yum install samba samba‐client ‐y \[root@system1 \~\]# systemctl enable smb.service nmb.service ****1.2**** ****设定防火墙**** \[root@system1 \~\]# firewall‐cmd ‐‐permanent ‐‐add‐service=samba \[root@system1 \~\]# firewall‐cmd ‐‐reload 1.3编辑配置文件 ****\[root@system1**** ****\~\]#**** ****vim**** ****/etc/samba/smb.conf**** (按大写字母****G**** 键来到文件底部,然后按字母****o**** 键在新的一行添加以下配置) ****\[devops\]**** ****客户端访问的共享名**** ****path**** ****=**** ****/devops**** ****指定共享目录的路径**** ****hosts**** ****allow**** ****=**** ****172.24.8.**** ****定义可访问这个共享主机**** ****browseable**** ****=**** ****yes**** ****是否允许所有用户浏览此共享,默认为yes,no为隐藏**** ****writable**** ****=**** ****no**** ****\<**** ****‐‐‐‐‐**** ****writ**** ****e**** ****able**** 是等价的,设置是否开放共享目录可写的权限,默认不开启 ****write**** ****list**** ****=**** ****akira**** ****指定用可写用户列表,多用户时,用短号分隔**** ****# read only = no 和writable=no等价**** ****# display charset = UTF-8**** ****编码设置**** ****# unix charset = UTF-8**** ****# create mode = 0777**** ****# force create mode =**** ****0**** ****777**** create mode:这个配置定义新创建文件的属性。Samba在新建文件时,会把dos文件的权限映射成对应的unix权限,在映射后所得的权限,会与这个参数所定义的值进行与操作。然后再和下面的force create mode进行或操作,这样就得到最终linux下的文件权限。force create mode相当于此参数所设置的权限位一定会出现在文件属性中;将权限设置成0777时,不同用户创建的文件均可被其他用户读写操作。 ****# directory mode =**** ****0777**** ****#**** ****force directory mode = 0**** ****777**** directory mode :这个配置与create mode参数类似,只是它是应用在新创建的目录上。Samba在新建目录时,会把dos--\>linux映射后的文件属性,与此参数所定义的值相与,再和force directory mode相或,然后按这个值去设置目录属性;将权限设置成0777时,不同用户创建的文件均可被其他用户读写操作。 ****#**** ****create mask = 0644**** ****在网络上新建文件的初始权限,只有writeable=yes时预设值才有效。**** ****#**** ****directory mask = 0755**** ****在网络上新建目录的初始权限,只有writeable=yes时预设值才有效。**** ****# valid users = fred 指定允许访问共享的用户列表,如果为空,表示谁都可访问,多用户时用用短号分隔**** ****#**** ****comment = Printer Drivers**** ****共享描述**** ****#**** ****public = yes/no**** ****public用来指定该共享是否允许guest账户访问。**** ****#**** ****guest ok = yes/no**** ****意义同"public"。**** ****1.4**** ****建立用户**** ****\[root@system1**** ****\~\]#**** ****useradd -s /sbin/nologin**** ****silene**** ****\[root@system1**** ****\~\]#**** ****useradd -s /sbin/nologin**** ****akira**** ****\[root@system1**** ****\~\]#**** ****smbpasswd**** ****‐**** ****a**** ****silene**** ****New**** ****SMB**** ****password:**** ****redhat**** ****Retype**** ****new**** ****SMB**** ****password:**** ****redhat**** ****Added**** ****user**** ****silene.**** ****\[root@system1**** ****\~\]#**** ****smbpasswd**** ****‐**** ****a**** ****akira**** ****New**** ****SMB**** ****password:**** ****redhat**** ****Retype new SMB password:**** ****redhat**** ****Added user akira.**** ****\[root@system1 \~\]#**** ****pdbedit --L \*列出smb用戶**** ****注:printf "passwd\\npasswd\\n" \| smbpasswd -a -s akira 一次性配置密码**** ****1.5设定目录并设定selinux**** ****\[root@system1**** ****\~\]#**** ****mkdir**** ****/devops**** ****\[root@system1**** ****\~\]#**** ****semanage**** ****fcontext**** ****‐**** ****a**** ****‐**** ****t**** ****'samba_share_t'**** ****'/devops(/.\*)?'**** ****\[root@system1**** ****\~\]#**** ****restorecon**** ****‐Rv**** ****/devops**** ****\[root@system1**** ****\~\]#**** ****setfacl**** ****‐**** ****R**** ****m**** ****u:akira:rwx**** ****/devops/**** ****注:-R 递归修改目录及目录所有权限**** ****1.6**** ****重启服务**** ****\[root@system1**** ****\~\]#**** ****systemctl**** ****restart**** ****smb**** ****nmb**** 2、客户验证,在****system2**** 上执行 2.1安装软件 ****\[root@system2**** ****\~\]#**** ****yum**** ****install**** ****cifs**** ****‐**** ****utils**** ****‐y**** 2.2建立挂载点 ****\[root@system2**** ****\~\]#**** ****mkdir**** ****/mnt/dev**** 2.3查看共享 ****\[root@system2**** ****\~\]#**** ****smbclient**** ****‐**** ****L**** ****//172.24.8.11/**** ****‐**** ****U**** ****silene**** Enter silene's password: ... Sharename Type Comment ‐‐‐‐‐‐‐‐‐ ‐‐‐‐ ‐‐‐‐‐‐‐ Common Disk ****Devops**** ****Disk**** 2.4编辑****fstab**** 增加持久挂载 ****\[root@system2**** ****\~\]#**** ****vim**** ****/etc/fstab**** .....在文件最后一行增加以下配置.... ****//172.24.8.11/devops**** ****/**** ****mnt/dev**** ****cifs**** ****defaults,multiuser,username=silene,password=redhat,sec=ntlmssp**** ****0**** ****0**** ****以读写模式临时挂:**** ****mount -t cifs -o username=smbuser,password='hangshu',iocharset=utf8,dir_mode=0777,file_mode=0777**** ****/**** ****/172.24.8.11/devops**** ****/**** ****/**** ****mnt/dev**** 2.5测试 ****\[root@system2**** ****\~\]#**** ****mount**** ****‐**** ****a**** ****\[root@system2**** ****\~\]#**** ****df**** ****‐h**** ...... //172.24.8.11/devops 9.8G 3.2G 6.7G 32% /mnt/dev ****\[root@system2**** ****\~\]#**** ****su**** ****‐**** ****silene**** ****‐**** ****bash**** ****‐**** ****4.2$**** ****cd**** ****/mnt/dev**** ****‐**** ****bash**** ****‐**** ****4.2$**** ****cifscreds**** ****add**** ****172.24.8.11**** Password: ****‐**** ****bash**** ****‐**** ****4.2$**** ****touch**** ****testfile**** touch: cannot touch 'testfile': Permission denied ****\<‐‐‐‐**** 可以读但不能写 ****‐**** ****bash**** ****‐**** ****4.2$**** ****exit**** ****\[root@system2**** ****\~\]#**** ****su**** ****‐**** ****akira**** ****‐**** ****bash**** ****‐**** ****4.2$**** ****cd**** ****/mnt/dev**** ****‐**** ****bash**** ****‐**** ****4.2$**** ****cifscreds**** ****add**** ****172.24.8.11**** Password: ****‐**** ****bash**** ****‐**** ****4.2$**** ****ls**** ****‐**** ****bash**** ****‐**** ****4.2$**** ****touch**** ****testfile**** ****\<**** ****‐‐‐**** 可以创建文件 ****‐**** ****bash**** ****‐**** ****4.2$**** ****ls**** testfile ****‐**** ****bash**** ****‐**** ****4.2$**** ****exit****