大家好,欢迎来到IT知识分享网。
一,Samba共享服务的匿名访问
注意:
systemctl stop firewalld #关闭防火墙 systemctl disable firewalld #开机不启用火墙 setenforce 0 #关闭SELinux
>1、如果不关闭防火墙和SEliunx则需要将smb服务添加白名单
[root@liunx04 nfsfile]# firewall-cmd --zone=public --permanent --add-service=samba #放行samba服务 success [root@liunx04 nfsfile]# firewalld-cmd --reload #重启加载
>2、如果是是共享/home目录是系统中普通用户的家目录,因此还需要考虑应用于该目录的SELinux安全上下文所带来的限制。设置SELinux服务与策略,使其允许通过Samba服务程序访问普通用户家目录。执行getsebool命令,筛选出所有与Samba服务程序相关的SELinux域策略,根据策略的名称(和经验)选择出正确的策略条目进行开启即可:
[root@liunx04 nfsfile]# mkdir /home/data [root@liunx04 nfsfile]# chown -Rf test1:test1 /home/data/ [root@liunx04 nfsfile]# semanage fcontext -a -t samba_share_t /home/data/ [root@liunx04 nfsfile]# restorecon -Rv /home/data/ restorecon reset /home/data context unconfined_u:object_r:home_root_t:s0->unconfined_u:object_r:user_home_dir_t:s0 [root@liunx04 nfsfile]# getsebool -a | grep samba samba_create_home_dirs --> off samba_domain_controller --> off samba_enable_home_dirs --> off samba_export_all_ro --> off samba_export_all_rw --> off samba_load_libgfapi --> off samba_portmapper --> off samba_run_unconfined --> off samba_share_fusefs --> off samba_share_nfs --> off sanlock_use_samba --> off tmpreaper_use_samba --> off use_samba_home_dirs --> off virt_use_samba --> off [root@liunx04 nfsfile]# setsebool -P samba_enable_home_dirs on
1、安装samba 和samba客户端
[root@liunx04 ~]#yum install samba samba-client [root@liunx04 ~]# systemctl start smb [root@liunx04 ~]# systemctl enable smb
2、安装完毕后打开Samba服务程序的主配置文件,具体配置文件的参数请参考:https://www.linuxprobe.com/basic-learning-12.html
vim /etc/samba/smb.conf #编辑共享主配置文件
[global] #全局参数
workgroup = SAMBA #工作组名称
security = user #安全验证的方式,总共有4种
passdb backend = tdbsam #定义用户后台的类型,总共有3种
map to guest = Bad User #开启匿名用户
[data] #共享的文件
path = /nfsfile #共享文件夹路径
public=yes #公开访问
browseable=yes #能够访问
writable=yes #允许写入权限
systemctl restart smb #重启smb服务
3、通过windows客户端测试匿名用户可以读写
二,Samba共享服务的身份验证
1、配置Samba配置文件信息
vim /etc/samba/smb.conf
1 [global] #全局参数 2 workgroup = SAMBA #工作组名称 3 security = user #安全验证的方式,总共有4种 4 5 passdb backend = tdbsam #定义用户后台的类型,总共有3种 6 [data] #共享的文件 7 path = /nfsfile #共享文件夹路径 8 public=yes #公开访问 9 browseable=yes #能够访问 10 writable=no #不允许写入权限也可以将这删除掉
11 valid users=test1,test2 #允许test1,test2访问权限 12 write list=test1 #允许test1写入权限
share:但安全性很差
user:代表登录Samba服务时需要使用账号密码进行验证,通过后才能获取到文件。这是默认的验证方式,最为常用。
domain:代表通过域控制器进行身份验证,用来限制用户的来源域。
server:代表使用独立主机验证来访用户提供的密码。这相当于集中管理账号,并不常用。
2、创建用户
1 [root@liunx04 nfsfile]# useradd test1 # 创建用户test1 2 [root@liunx04 nfsfile]# useradd test2 #创建用户test2 3 [root@liunx04 nfsfile]# smbpasswd -a test1 #设置密码 4 New SMB password: #输入密码 5 Retype new SMB password: #再次输入密码 6 Added user test1. 7 [root@liunx04 nfsfile]# smbpasswd -a test2 #设置test2用户密码 8 New SMB password: #输入密码 9 Retype new SMB password: #再次输入密码 10 Added user test2. 11 [root@liunx04 nfsfile]# pdbedit -L #显示所有SMB用户 12 test1:1000: 13 test2:1001:
14 [root@liunx04 nfsfile]# systemctl restart smb #重启smb服务
3、在windows 客户端测试,CMD先清除掉windows客户端上的缓存,使用test1登录是可以写入权限
net use * /d
三,liunx之间共享挂载
1、服务端配置smb文件
1 vi /etc/samba/smb.conf 2 [global] 3 workgroup = SAMBA 4 security = user 5 6 passdb backend = tdbsam 7 8 printing = cups 9 printcap name = cups 10 load printers = yes 11 cups options = raw 12 [samba_share] 13 comment = samba service 14 path = /samba/share 15 public = no 16 writable = yes 17 18 [homes] 19 comment = Home Directories 20 valid users = %S, %D%w%S 21 browseable = No 22 read only = No
2、创建共享访问用户以及授权用户共享权限
1 [root@liunx04 ~]# useradd test 2 [root@liunx04 ~]# smbpasswd -a test 3 New SMB password: 4 Retype new SMB password: 5 Added user test. 6 [root@liunx04 ~]# pdbedit -L 7 test:1000: 8 [root@liunx04 ~]# setfacl -m u:test:wrx /samba/share/ 9 [root@liunx04 ~]# getfacl /samba/share/
3、liunx客户端安装samba-client和cifs-utils
1 [root@liunx05 ~]#yum install samba-client #安装samba-client 2 [root@liunx05 ~]#dnf install cifs-utils #安装cifs-utils 3 [root@liunx05 ~]# smbclient -U test1 -L 172.21.57.104 #查看共享的目录 4 Enter SAMBA\test1's password: 5 6 Sharename Type Comment 7 --------- ---- ------- 8 data Disk #共享data目录 9 print$ Disk Printer Drivers #共享打印机 10 IPC$ IPC IPC Service (Samba 4.10.16) 11 test1 Disk Home Directories 12 Reconnecting with SMB1 for workgroup listing. 13 14 Server Comment 15 --------- ------- 16 17 Workgroup Master 18 --------- ------- 19 [root@liunx05 ~]#
4、客户端挂载测试
1 [root@liunx05 ~]# mkdir //samba_share 2 [root@liunx05 ~]# mount -t cifs -o username=test,password=admin123 //172.21.57.104//samba_share //samba_share 3 [root@liunx05 ~]# df -Th 4 文件系统 类型 容量 已用 可用 已用% 挂载点 5 /dev/mapper/centos-root xfs 20G 1.2G 19G 6% / 6 devtmpfs devtmpfs 3.9G 0 3.9G 0% /dev 7 tmpfs tmpfs 3.9G 0 3.9G 0% /dev/shm 8 tmpfs tmpfs 3.9G 12M 3.9G 1% /run 9 tmpfs tmpfs 3.9G 0 3.9G 0% /sys/fs/cgroup 10 /dev/mapper/centos-software xfs 10G 33M 10G 1% /software 11 /dev/mapper/centos-home xfs 10G 33M 10G 1% /home 12 /dev/mapper/centos-var xfs 10G 757M 9.3G 8% /var 13 /dev/sda1 xfs 1014M 142M 873M 14% /boot 14 172.21.57.104:/nfsfile nfs4 20G 1.3G 19G 7% /mnt/nfsfile 15 tmpfs tmpfs 782M 0 782M 0% /run/user/0 16 //172.21.57.104/data cifs 20G 1.3G 19G 7% /data 17 [root@liunx05 ~]#
2、永久挂载
1 [root@liunx05 ~]# vi /etc/fstab 2 # /etc/fstab 3 # Created by anaconda on Fri Nov 16 15:37:20 2018 4 # 5 # Accessible filesystems, by reference, are maintained under '/dev/disk' 6 # See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info 7 # 8 /dev/mapper/centos-root / xfs defaults 0 0 9 UUID=98beaa56-52be-4e8e-9e44-4f9536f38207 /boot xfs defaults 0 0 10 /dev/mapper/centos-home /home xfs defaults 0 0 11 /dev/mapper/centos-software /software xfs defaults 0 0 12 /dev/mapper/centos-var /var xfs defaults 0 0 13 /dev/mapper/centos-swap swap swap defaults 0 0 14 #/dev/sr0 /iso iso9660 defaults 0 0 15 172.21.57.104:/nfsfile /mnt/nfsfile nfs defaults 0 0 16 //172.21.57.104/samba_share /samba_share cifs username=test1,password=admin123 0 0 #挂载
扩展知识:vim /etc/samba/smb.conf
如果资源可写,但只允许某些用户可写,其他都是只读
write list = admin, root, @staff(用户组)
read list = mary, @students
控制访问对象
valid users = tom,mary,@itcast
invalid users = tom
注意:以上两个选项只能存在其中一个
网络访问控制:
hosts deny = 192.168.0. 拒绝某个网段
hosts allow = 192.168.0.254 允许某个IP
hosts deny = all 拒绝所有
hosts allow = 192.168.0. EXCEPT 192.168.0.254 允许某个网段,但拒绝某个单个IP
注意:deny和allow同时存在,allow优先
参考文档:https://blog.csdn.net/weixin_53946852/article/details/125851113
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/28199.html