samba 服务

【任务描述】请采用 samba 服务,实现资源共享。
1.在 linux3 上创建 user00-user19 等 20 个用户;user00 和user01 添加到manager 组,user02 和 user03 添加到 dev 组。把用户 user00-user03 添加到samba用户。
2.配置 linux3 为 samba 服务器,建立共享目录/srv/sharesmb,共享名与目录名相同。manager 组用户对 sharesmb 共享有读写权限,dev 组对sharesmb 共享有只读权限;用户对自己新建的文件有完全权限,对其他用户的文件只有读权限,且不能删除别人的文件。在本机用 smbclient 命令测试。

samba 的配置

先安装samba服务

[root@linux3 ~]# yum install -y samba samba-client

根据要求生成user00..19

[root@linux3 ~]# for i in {00..19}; do useradd user$i; done

然后添加managerdev

[root@linux3 ~]# groupadd manager 
[root@linux3 ~]# groupadd dev

然后把user00 user01加入到manager组中 user02 user03加入到dev组中

[root@linux3 ~]# usermod user00 -g manager
[root@linux3 ~]# usermod user01 -g manager
[root@linux3 ~]# usermod user02 -g dev
[root@linux3 ~]# usermod user03 -g dev

然后把user00..03添加到samba用户 下面会让你连续设置用户的新密码到时候检查权限的时候要用到

[root@linux3 ~]# for i in {00..03}; do smbpasswd -a user$i; done

新建目录之后 分别给与manager的读写权限 dev的只读权限 还有其他用户的只读权限

[root@linux3 ~]# mkdir /srv/sharesmb
[root@linux3 ~]# setfacl -m g:manager:rwx,g:dev:rx /srv/sharesmb/
[root@linux3 ~]# chmod o+r /srv/sharesmb/
[root@linux3 ~]# setenforce 0   //禁用 SELinux

配置samba服务

[root@linux3 ~]# vi /etc/samba/smb.conf

在最下面输入以下内容

[sharesmb]
path = /srv/sharesmb
valid users = @manager @dev
write list = @manager 

然后重启samba服务

[root@linux3 ~]# systemctl restart smb

使用 smbclient命令测试权限可行性
首先使用user00进入测试读写权限

[root@linux3 ~]# smbclient -U user00 //127.0.0.1/sharesmb
Enter SAMBA\user00's password: 
Try "help" to get a list of possible commands.
smb: \> put /etc/hostname user00  //使用put上传文件测试写的权限
putting file /etc/hostname as \user00 (6.8 kb/s) (average 6.8 kb/s)  //可行
smb: \> ls
  .                                   D        0  Wed May 29 16:18:38 2024
  ..                                  D        0  Wed May 29 15:47:47 2024
  user00                              A        7  Wed May 29 16:18:38 2024

                17811456 blocks of size 1024. 16310560 blocks available
smb: \> get user00  //使用get测试读的权限
getting file \user00 of size 7 as user00 (6.8 KiloBytes/sec) (average 6.8 KiloBytes/sec)  //可行

使用user02进入测试读写权限

[root@linux3 ~]# smbclient -U user02 //127.0.0.1/sharesmb
Enter SAMBA\user02's password: 
Try "help" to get a list of possible commands.
smb: \> ls
  .                                   D        0  Wed May 29 16:18:38 2024
  ..                                  D        0  Wed May 29 15:47:47 2024
  user00                              A        7  Wed May 29 16:18:38 2024

                17811456 blocks of size 1024. 16310556 blocks available
smb: \> get user00  //使用get读取文件测试读的权限
getting file \user00 of size 7 as user00 (6.8 KiloBytes/sec) (average 6.8 KiloBytes/sec)  //可行
smb: \> put /etc/hostname user02  //使用put上传文件测试写的权限
NT_STATUS_ACCESS_DENIED opening remote file \user02  //不可行

按照以上测试可了解manager组的读写权限的可行性 和 dev组的只读性
最后附上 目录的权限

[root@linux3 ~]# ls -ld /srv/sharesmb
drwxrwxr-x+ 2 root root 20 5月  29 16:18 /srv/sharesmb

最后修改:2024 年 05 月 29 日
如果觉得我的文章对你有用,请随意赞赏