Samba服务安装与访问控制
CentOS7 主机:192.168.123.231
Windows 10客户机访问
1.安装
[root@asan ~]# rpm -qa|grep samba
samba-client-libs-4.10.16-9.el7_9.x86_64
samba-client-4.10.16-9.el7_9.x86_64
samba-common-4.10.16-9.el7_9.noarch
samba-common-libs-4.10.16-9.el7_9.x86_64
[root@asan ~]# yum -y install samba
2.查看配置文件smb.conf
[root@asan ~]# cat /etc/samba/smb.conf
[global]
workgroup = SAMBA
security = user #默认基于用户验证
passdb backend = tdbsam
printing = cups
printcap name = cups
load printers = yes
cups options = raw
[homes]
comment = Home Directories
valid users = %S, %D%w%S
browseable = No
read only = No
inherit acls = Yes
[printers]
comment = All Printers
path = /var/tmp
printable = Yes
create mask = 0600
browseable = No
[print$]
comment = Printer Drivers
path = /var/lib/samba/drivers
write list = @printadmin root
force group = @printadmin
create mask = 0664
directory mask = 0775
3.创建共享文件夹并添加访问权限
[root@asan ~]# mkdir /myshare
[root@asan ~]# chmod -Rf 777 /myshare/
4.创建用户用于访问samba服务的一些用户
[root@asan ~]# useradd -s /sbin/nologin u1 #不用登录系统,故shell设置成nologin
[root@asan ~]# useradd -s /sbin/nologin u2
[root@asan ~]# pdbedit -a u1 #将用户添加到Samba数据库中
[root@asan ~]# pdbedit -a u2
[root@asan ~]# pdbedit -L #查看目前Samba数据库中的用户
u1:1002:
u2:1003:
5.编辑配置文件
[root@asan ~]# vim /etc/samba/smb.conf
5.1末尾添加如下配置:
[myshare]
comment = my share #注释
path = /myshare #共享文件夹路径
browseable = yes #可读
writeable = yes #可写
5.2检查配置是否正确
[root@asan ~]# testparm -s /etc/samba/smb.conf
Load smb config files from /etc/samba/smb.conf
Loaded services file OK.
Server role: ROLE_STANDALONE
6.重启Samba服务
[root@asan ~]# systemctl restart smb
7.访问测试
7.1初次访问
无法访问
无法访问,原因:防火墙开着
[root@asan ~]# firewall-cmd --add-service=samba --permanent #防火墙添加访问规则
success
[root@asan ~]# firewall-cmd --reload #重新加载防火漆规则
success
7.2再次访问
输入用户和密码
文件夹打开提示无权限
提示无权限
[root@asan ~]# getenforce
Enforcing
原因:SElinux访问控制机制(资源控制)
解决方法:
查看共享文件夹的安全上下文
[root@asan ~]# ll -dZ /myshare/
drwxrwxrwx. root root unconfined_u:object_r:default_t:s0 /myshare/ #default_t 在SELinux打开下此安全级别无法访问
[root@asan ~]# more /etc/samba/smb.conf.example
samba中SElinux描述
[root@asan ~]# chcon -R -t samba_share_t /myshare/ #改变安全上下文
[root@asan ~]# ll -dZ /myshare/ #再次验证
drwxrwxrwx. root root unconfined_u:object_r:samba_share_t:s0 /myshare/
第三次访问
正常访问
扩展:se布尔值
[root@asan ~]# getsebool -a
部分
[root@asan ~]# getsebool -a|grep samba
与samba相关
samba_enable_home_dirs --> off #用户家目录时候允许访问,off不允许,on允许
家目录无法访问
[root@asan ~]# setsebool samba_enable_home_dirs on
开启
访问家目录
可以访问
总结:
Samba服务
1.安装
2.配置
3.启动
4.访问
5.权限
6.相关:防火墙与SElinux
Linux磁盘配额
Linux是一个多用户多任务的操作系统,为了防止某个用户或者组占用过多的磁盘空间,通过磁盘配额功能限制用户和组对磁盘空间的使用。
(1)限制用户和组的索引节点数(inode):限制用户和组可以创建的文件数量。
(2)限制用户和组的磁盘块区数(block):限制用户和组可以使用的磁盘容量。
首先我们需要先加一块磁盘,他的文件系统是ext4,并将其挂载到/mnt/disk1的目录下,这里的操作在上一篇中有做法。
如图将这个磁盘装上ext4的文件系统
装好之后我们在把这个磁盘挂载到/mnt/sdb1上面如图
我们要增加其他用户对我们/mnt/sdb1的权限,保证其他用户能够正常写入数据,chmod -Rf o+w /mnt/sdb1 如图
接下来我们虚拟机中是否安装了quota,我的centos中已经默认安装了,如果你的没有的话,可以自行安装一个,yum源应该就有。
接下来我们要启动quota的服务,如果你只是想要,短暂地进行磁盘配额,可以使用mount -o remount,usrquota,grpquota /mnt/sdb1 如果你是想要长期使用,开机就会自动启动,那么你就要,去编辑vim /etc/fstab 这个文件,在这个文件的最后一行加上/dev/sdb1 /mnt/sdb1 ext4 defaults ,usrquota ,grpquota 0 0 添加完成后保存退出,重启虚拟机即可,因为我只是因为这次实验,才用磁盘配额,所以我用第一种,如图
我们可以利用mount命令查看磁盘配额命令是否启用,如图
如果你的和我的一样,说明你也成功了。
接下来我们来建立quota的记录文件,quota是通过分析整个文件系统中的每个用户或组拥有的文件总数与总容量,将这些数据记录放在该文件系统的最顶层目录,然后在该记录文件中使用每个用户或组的限制值去规范磁盘使用量。
quotacheck命令用于检查磁盘的使用空间和限制,并建立quota记录文件,他有如下几个参数,我们可以来看看
-c生成配额文件
-a扫描/etc/fstab文件中是否有加入quota设置的分区
-v 显示详细的执行过程
-u用于检测用户的磁盘配额
-g用于检测组的磁盘配额
-m -f 强制执行
接下来我们用quotacheck命令,生成磁盘配额文件aquota.user(设置用户的磁盘配额)和aquota.group(设置组的磁盘配额)。
如图,这条命令可以输入两次,以免他的不成功。
接下来我们就要开始设置了,磁盘配额限制分为
(1)软限制(soft limit),是指用户和组在文件系统上可以使用的磁盘空间和文件数。超过软限制后,在一定期限内,用户仍可继续存储文件,但是系统会对用户提出警告,建议用户清理文件,释放空间。超过警告期限后,用户不能继续存储文件。
(2)硬限制(hard limit),是指用户和组可以使用的最大磁盘空间或最多的文件数,超过之后,用户和组将无法再在相应的文件系统上存储文件。
接下来我们对user1这个用户进行设置,我们设置他的硬盘使用量,的软限制,和硬限制分别为3MB和6MB,创建文件数量的软限制和硬限制分别为3和6,我们进行如下图的操作
输入上图的命令,你会进入下图的模式,按照下图去修改,3072=3MB 6144=6MB
这些都设置完成以后,磁盘配额还不能启用,还需要输入,quotaon这条命令,关闭使用quotaoff这条命令,
参数u针对使用者启动 g针对组启动-v显示启动过程的相关信息-a根据/etc/mtab内的filesystem设定启动有关的quota
接下来我们转换用户到user1 ,并在我们的/mnt/sdb1中建立一个文件如图
推出后我们回到root用户,输入,repquota /dev/sdb1我们来查看我们的磁盘使用情况如图
可以看到used 代表他的使用情况。用户名后面的--代表用户是否超出限制,超出限制以后--就会变成+
接下来我们进入user1,向文件中分别写入,5MB和8MB的内容,看看会有什么反应,如图
接下来我们再返回到root用户中去查看如图
从图片中可以看到,他已经达到了硬限制的上限,所以不能再写入东西了,而且文件数目也变成了2。
这就证明了我们的测试成功了。
相关问答
如何关闭储存卡写保护?
打开终端应用程序,输入以下命令并按回车键:bashCopycodesudochmod-Rf777/Volumes/YourDriveName请注意将“YourDriveName”替换...
linux不小心手动删除了dev/sda,怎么处理-ZOL问答
#chmod660/dev/sda3即可恢复。用root用户进入,执行以下步骤:cd/mkdirhomecdhomemkdir'用户名'chown'...
ubuntu中怎么用命令行删除文件内容?
force强力删除,不要求确认-i每删除一个文件或进入一个子目录都要求确认-I在删除超过三个文件或者递归删除前要求确认-r,-R递归删除子...rm[选项]文件-...
Linux操作系统管理和配置1、新建一个以自己名字全拼的文件在...
[回答]1.touch/root/zhangsan.txtls-l/etc/*>/root/zhangsan.txttar-czvfzhangsan.txt.tar.gz/root/zhan...
天津财经大学1105dc是谁
最近两天在HHARM2410-R3上移植了USB蓝牙设备和BlueZ蓝牙协议栈,呵呵,蓝牙果然是个很好的东西,协议栈内容很丰富,挂上去以后可以使用很多功能。我...
warframe的mod肿么装?-ZOL问答
3条回答:【推荐答案】在星际战甲Warframe中,mod装配的位置已经从军械库里武器处更改到了武器或战甲右侧的三个小标签中。升级武器所需的mod、催化剂和极化等操作...
吉林市疫情都这样了为什么有些商场还在营业?
首先,吉林市现在的疫情并不严重,自从常态化核酸检测,三天一检,病毒已经能第一时间被发现,从而为精准防控奠定了基础。疾控部门可以清晰地进行流调,找出密接...
82-59PN16DN25RF这是哪个标准?-盖德问答-化工人互助问答社区
应该是jb的法兰标准,不过现在都是94了,站内有介绍https:///forum.php?mod=viewthread&tid=302183同意楼上观点。
美的空调eh0r故障代码是什么-ZOL问答
RF-8W(单相、三相)LF-12WRF-12W室外故障检测故障指示灯表示的故障类型:亮灯...自动换气LED4工作LED状态XXO☆模块保护(PRMODPRMOD1)OX...
诸位前辈,帮个忙呗!仙居效果好的便携式XRF检测仪,便携式XR...
[回答]为了实现这个目的,我们花费了一年时间对国内外各种便携式甲醛检测仪进行分析和对比。最终通过陕西省质检院推荐选择了美国原装进口的Interscan甲醛...