SMB 文件共享:
服务端口 : 通常使用 TCP/445 进行所有连接。还使用UDP137,UDP138和TCP/139进行向后兼容。
主配置文件 :/etc/samba/smb.conf
配置环境:
准备两台虚拟机,进行配置IP,yum源,更改主机名字方便辨识开始实验:
在客户端安装samba服务(ip:172.25.254.121)
[root@client ~]# yum install samba-client -y 安装服务
[root@client ~]# smbclient -L //172.25.254.221 匿名进行访问,什么也看不到
在服务端安装samba服务(ip:172.25.254.221)
[root@server ~]# yum search samba 寻找samba安装包
samba-client.x86_64 : Samba client programs 客户端应用程序
samba-common.x86_64 : Files used by both Samba servers and clients Samba的支持文件
samba.x86_64 : Server and Client software to interoperate with Windows machines 服务器应用程序
[root@server ~]# yum install samba samba-client.x86_64 samba-common -y 安装samba服务
pdedit命令用于管理SMB服务程序的账户信息数据库:
参数 | 作用 |
-a 用户名 | 建立samba用户 |
-x 用户名 | 删除samba用户 |
-L | 列出账户列表 |
-Lv | 列出账户详细信息的列表 |
[root@server ~]# systemctl start smb 开启服务
[root@server ~]# systemctl enable smb.service 开机自动启动
ln -s '/usr/lib/systemd/system/smb.service' '/etc/systemd/system/multi-user.target.wants/smb.service'
[root@server ~]# systemctl stop firewalld 关闭防火墙
[root@server ~]# systemctl disable firewalld 开机自动关闭
[root@server ~]# netstat -antlupe | grep smb 查看samba端口
tcp 0 0 0.0.0.0:445 0.0.0.0:* LISTEN 0 72127 3611/smbd
tcp 0 0 0.0.0.0:139 0.0.0.0:* LISTEN 0 72128 3611/smbd
tcp6 0 0 :::445 :::* LISTEN 0 72125 3611/smbd
tcp6 0 0 :::139 :::* LISTEN 0 72126 3611/smbd
[root@server ~]# id student 查看用户信息
uid=1000(student) gid=1000(student) groups=1000(student),10(wheel)
[root@server ~]# id westos westos用户没有建立
[root@server ~]# smbpasswd -a student 添加student用户访问
在服务端配置samba用户:
[root@server ~]# smbpasswd -a westos 报错由于没有westos用户
[root@server ~]# useradd westos 建立westos用户
[root@server ~]# smbpasswd -a westos 添加westos用户访问
[root@server ~]# pdbedit -L 查看访问用户信息
student:1000:Student User
westos:1001:
[root@server ~]# pdbedit -x student 删除student用户访问
[root@server ~]# pdbedit -L 查看访问用户已经删除student
westos:1001:
[root@server ~]# smbpasswd -a student 重新添加student访问用户
New SMB password:
Retype new SMB password:
Added user student.
[root@server ~]# pdbedit -L 查看已经建立student用户
student:1000:Student User
westos:1001:
在客户端进行指定用户访问:
[root@client ~]# smbclient -L //172.25.254.221 -U student 用student用户进行访问
Domain=[MYGROUP] OS=[Unix] Server=[Samba 4.1.1]
Sharename Type Comment
--------- ---- -------
IPC$ IPC IPC Service (Samba Server Version 4.1.1)
student Disk Home Directories disk表示可以访问挂载。
Domain=[MYGROUP] OS=[Unix] Server=[Samba 4.1.1]
Server Comment
--------- -------
Workgroup Master
--------- -------
[root@client ~]# smbclient //172.25.254.221/student -U student 直接登录,由于selinux功能影响
Enter student's password:
Domain=[MYGROUP] OS=[Unix] Server=[Samba 4.1.1]
smb: \> ls
NT_STATUS_ACCESS_DENIED listing \* 报错功能不允许代表服务端家目录没有开启所以不能访问
smb: \> quit
服务端打开家目录:
[root@server ~]# getsebool -a | grep samba 查看samba家目录为off
samba_create_home_dirs --> off
samba_domain_controller --> off
samba_enable_home_dirs --> off 布尔值允许本地 Linux 主目录作为 CIFS 文件共享导出至其他系统
samba_export_all_ro --> off
samba_export_all_rw --> off
samba_portmapper --> off
samba_run_unconfined --> off
samba_share_fusefs --> off
samba_share_nfs --> off
sanlock_use_samba --> off
use_samba_home_dirs --> off 布尔值允许挂载远程 CIFS 文件共享并将其用作本地 Linux 主目录
virt_sandbox_use_samba --> off
virt_use_samba --> off
[root@server ~]# setsebool -P samba_enable_home_dirs on 打开samba家目录,-P永久打开家目录
客户端可以直接访问服务端家目录:
[root@client ~]# smbclient //172.25.254.221/student -U student
Enter student's password:
Domain=[MYGROUP] OS=[Unix] Server=[Samba 4.1.1]
smb: \> ls
. D 0 Thu Jul 10 19:06:52 2014
.. D 0 Fri Jun 1 21:47:02 2018
.bash_logout H 18 Wed Jan 29 07:45:18 2014
.bash_profile H 193 Wed Jan 29 07:45:18 2014
.bashrc H 231 Wed Jan 29 07:45:18 2014
.ssh DH 0 Thu Jul 10 18:19:10 2014
.config DH 0 Thu Jul 10 19:06:53 2014
40913 blocks of size 262144. 28596 blocks available
smb: \> quit
SMB挂载:
在客户端路径内可以上传文件:
[root@client ~]# pwd 查看当前路径
/root
[root@client ~]# ls
anaconda-ks.cfg Documents Music Public Videos
Desktop Downloads Pictures Templates
[root@client ~]# cd /etc/ 在哪个路径就可以上传里面的东西
[root@client etc]# smbclient //172.25.254.221/student -U student student用户访问
Enter student's password:
Domain=[MYGROUP] OS=[Unix] Server=[Samba 4.1.1]
smb: \> ls
. D 0 Thu Jul 10 19:06:52 2014
.. D 0 Fri Jun 1 21:47:02 2018
.bash_logout H 18 Wed Jan 29 07:45:18 2014
.bash_profile H 193 Wed Jan 29 07:45:18 2014
.bashrc H 231 Wed Jan 29 07:45:18 2014
.ssh DH 0 Thu Jul 10 18:19:10 2014
.config DH 0 Thu Jul 10 19:06:53 2014
40913 blocks of size 262144. 28581 blocks available
smb: \> !ls 显示/etc/下的所有东西
smb: \> put passwd
putting file passwd as \passwd (65.3 kb/s) (average 65.3 kb/s)
smb: \> put /bin/ls 上传不了/bin/下面的东西
NT_STATUS_OBJECT_PATH_NOT_FOUND opening remote file \/bin/ls
smb: \> quit
[root@client etc]# cd /bin/ 切换到/bin/路径下才可以上传ls
[root@client bin]# smbclient //172.25.254.221/student -U student
Enter student's password:
Domain=[MYGROUP] OS=[Unix] Server=[Samba 4.1.1]
smb: \> !ls 显示/bin/目录下的所有文件
smb: \> put mcat 上传文件
putting file mcat as \mcat (9924.0 kb/s) (average 9924.0 kb/s)
smb: \> touch file 还是不能建立文件
touch: command not found
smb: \> quit
在服务端:(查看客户端上传的文件)
客户端上传的文件在服务端家目录下面:
[root@server ~]# cd /home/student/ 切换到家目录下
[root@server student]# ls
mcat passwd
在客户端进行SMB的临时挂载:
[root@client ~]# mount //172.25.254.221/student /mnt/ -o username=student,password=redhat
密码为student用户密码,下文密码变更为了xfl
[root@client ~]# df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/vda3 8709120 3180624 5528496 37% /
devtmpfs 500528 0 500528 0% /dev
tmpfs 508996 92 508904 1% /dev/shm
tmpfs 508996 7148 501848 2% /run
tmpfs 508996 0 508996 0% /sys/fs/cgroup
/dev/vda1 201388 104368 97020 52% /boot
//172.25.254.221/student 8709120 3112124 5596996 36% /mnt
[root@client ~]# cd /mnt/
[root@client mnt]# ls
ls passwd
[root@client mnt]# touch file{1..10}
在服务端可以实时查看:
[root@server student]# ls
file1 file2 file4 file6 file8 ls
file10 file3 file5 file7 file9 passwd
[root@client mnt]# rm -fr *
[root@server student]# ls 客户端删除所有服务端家目录就看不到文件
在客户端进行SMB的永久挂载:
[root@client mnt]# cd
[root@client ~]# umount /mnt/ 解除挂载
[root@client ~]# df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/vda1 10473900 3182020 7291880 31% /
devtmpfs 469344 0 469344 0% /dev
tmpfs 484932 140 484792 1% /dev/shm
tmpfs 484932 12804 472128 3% /run
tmpfs 484932 0 484932 0% /sys/fs/cgroup
/dev/mapper/vg0-vo 483670 2339 451840 1% /home
[root@client ~]# vim /etc/fstab 添加永久挂载,但是这种方式需要先启动服务端不然客户端起不来
[root@client ~]# mount -a 刷新
[root@client ~]# df 已经挂载成功
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/vda1 10473900 3182040 7291860 31% /
devtmpfs 469344 0 469344 0% /dev
tmpfs 484932 140 484792 1% /dev/shm
tmpfs 484932 12804 472128 3% /run
tmpfs 484932 0 484932 0% /sys/fs/cgroup
/dev/mapper/vg0-vo 483670 2339 451840 1% /home
//172.25.254.221/student 10473900 3157152 7316748 31% /mnt
[root@client ~]# umount /mnt/ 解除挂载
[root@client ~]# df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/vda1 10473900 3182020 7291880 31% /
devtmpfs 469344 0 469344 0% /dev
tmpfs 484932 140 484792 1% /dev/shm
tmpfs 484932 12804 472128 3% /run
tmpfs 484932 0 484932 0% /sys/fs/cgroup
/dev/mapper/vg0-vo 483670 2339 451840 1% /home
[root@client ~]# vim /etc/fstab 将写入的注释掉
[root@client ~]# vim /etc/rc.d/rc.local 编辑脚本文件,不会影响服务的启动
[root@client ~]# chmod +x /etc/rc.d/rc.local 加入执行权限
[root@client ~]# reboot 重启,重启不生效的话需要先poweroff在连接查看即可
[root@client ~]# df 查看已经永久挂载完成
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/vda1 10473900 3180960 7292940 31% /
devtmpfs 469344 0 469344 0% /dev
tmpfs 484932 80 484852 1% /dev/shm
tmpfs 484932 12752 472180 3% /run
tmpfs 484932 0 484932 0% /sys/fs/cgroup
/dev/mapper/vg0-vo 483670 2339 451840 1% /home
//172.25.254.221/student 10473900 3157152 7316748 31% /mnt
组的设定:
在客户端:
[root@client ~]# smbclient -L //172.25.254.221 一开始访问组信息为mygroup
Enter root's password:
Anonymous login successful
Domain=[MYGROUP] OS=[Unix] Server=[Samba 4.1.1]
Sharename Type Comment
--------- ---- -------
IPC$ IPC IPC Service (Samba Server Version 4.1.1)
Anonymous login successful
Domain=[MYGROUP] OS=[Unix] Server=[Samba 4.1.1]
Server Comment
--------- -------
Workgroup Master
--------- -------
在服务端:
[root@server student]# vim /etc/vimrc 永久加入行号
[root@server student]# vim /etc/samba/smb.conf 编辑主配置文件更改组
[root@server student]# systemctl restart smb.service 重启服务
在客户端:
[root@client ~]# smbclient -L //172.25.254.221 测试组信息已经变成了westos
Enter root's password:
Anonymous login successful
Domain=[WESTOS] OS=[Unix] Server=[Samba 4.1.1]
Sharename Type Comment
--------- ---- -------
IPC$ IPC IPC Service (Samba Server Version 4.1.1)
Anonymous login successful
Domain=[WESTOS] OS=[Unix] Server=[Samba 4.1.1]
Server Comment
--------- -------
Workgroup Master
--------- -------
白名单的设定:
在服务端:
[root@server student]# vim /etc/samba/smb.conf 编辑主配置文件仅允许客户端访问(172.25.254.121)
[root@server student]# systemctl restart smb.service 重启服务
在客户端:
[root@client ~]# smbclient -L //172.25.254.221 可以访问
Enter root's password:
Anonymous login successful
Domain=[WESTOS] OS=[Unix] Server=[Samba 4.1.1]
Sharename Type Comment
--------- ---- -------
IPC$ IPC IPC Service (Samba Server Version 4.1.1)
Anonymous login successful
Domain=[WESTOS] OS=[Unix] Server=[Samba 4.1.1]
Server Comment
--------- -------
Workgroup Master
--------- -------
在真机测试:
[root@foundation84 ~]# yum install samba-client -y没有安装服务需要安装
[root@foundation84 ~]# smbclient -L //172.25.254.221 不能访问
Enter root's password:
protocol negotiation failed: NT_STATUS_INVALID_NETWORK_RESPONSE
黑名单的设定:
在服务端:
[root@server student]# vim /etc/samba/smb.conf 编辑主配置文件,客户端不可以访问
[root@server student]# systemctl restart smb.service 重启服务
在客户端:
[root@client ~]# smbclient -L //172.25.254.221 不可以访问
Enter root's password:
protocol negotiation failed: NT_STATUS_INVALID_NETWORK_RESPONSE
在真机:
[root@foundation21 ~]# smbclient -L //172.25.254.221 可以访问
Enter root's password:
Anonymous login successful
Domain=[WESTOS] OS=[Unix] Server=[Samba 4.1.1]
Sharename Type Comment
--------- ---- -------
IPC$ IPC IPC Service (Samba Server Version 4.1.1)
Anonymous login successful
Domain=[WESTOS] OS=[Unix] Server=[Samba 4.1.1]
Server Comment
--------- -------
Workgroup Master
--------- -------
还原配置文件,将配置文件加入的黑白名单删除,还原组信息,重启服务:
共享自己的目录:
在服务端:
[root@server ~]# mkdir /westos 建立目录
[root@server ~]# vim /etc/samba/smb.conf 编写主配置文件
[root@server ~]# systemctl restart smb.service 重启服务
在客户端:
[root@client ~]# smbclient -L ///172.25.254.221 直接回车可以看到DIR目录
Enter root's password:
Anonymous login successful
Domain=[MYGROUP] OS=[Unix] Server=[Samba 4.1.1]
Sharename Type Comment
--------- ---- -------
DIR Disk westos dir
IPC$ IPC IPC Service (Samba Server Version 4.1.1)
Anonymous login successful
Domain=[MYGROUP] OS=[Unix] Server=[Samba 4.1.1]
Server Comment
--------- -------
Workgroup Master
--------- -------
[root@client ~]# smbclient ///172.25.254.221/DIR -U student 访问被拒绝得在服务端修改安全上下文
Enter student's password:
Connection to failed (Error NT_STATUS_UNSUCCESSFUL)
在服务端:
[root@server ~]# semanage fcontext -a -t samba_share_t '/westos(/.*)?' 修改安全上下文
[root@server ~]# restorecon -FvvR /westos/ 刷新
restorecon reset /westos context unconfined_u:object_r:default_t:s0->system_u:object_r:samba_share_t:s0
[root@server ~]# ls -Zd /westos/ 查看安全上下文是否更改成功
drwxr-xr-x. root root system_u:object_r:samba_share_t:s0 /westos/
在客户端:
[root@client ~]# smbclient //172.25.254.221/DIR -U student 修改安全上下文后可以登录访问
Enter student's password:
Domain=[MYGROUP] OS=[Unix] Server=[Samba 4.1.1]
smb: \> ls
. D 0 Sat Jun 2 01:50:55 2018
.. D 0 Sat Jun 2 01:50:55 2018
40913 blocks of size 262144. 28580 blocks available
smb: \> SMBecho failed (NT_STATUS_CONNECTION_DISCONNECTED). The connection is disconnected now
共享本地目录/mnt/:
在服务端:
[root@server ~]# vim /etc/samba/smb.conf 写入本地目录
[root@server ~]# systemctl restart smb.service 重启服务
[root@server ~]# touch /mnt/file{1..5} 建立文件之后客户端看不到
[root@server ~]# ls /mnt/
file1 file2 file3 file4 file5
在客户端:
[root@client ~]# smbclient -L //172.25.254.221 直接回车可以看到/mnt/目录
Enter root's password:
Anonymous login successful
Domain=[MYGROUP] OS=[Unix] Server=[Samba 4.1.1]
Sharename Type Comment
--------- ---- -------
DIR Disk westos dir
mnt Disk /mnt dir
IPC$ IPC IPC Service (Samba Server Version 4.1.1)
Anonymous login successful
Domain=[MYGROUP] OS=[Unix] Server=[Samba 4.1.1]
Server Comment
--------- -------
Workgroup Master
--------- -------
[root@client ~]# smbclient //172.25.254.221/mnt -U student 看不到建立的文件
Enter student's password:
Domain=[MYGROUP] OS=[Unix] Server=[Samba 4.1.1]
smb: \> ls
. D 0 Thu Mar 13 07:51:26 2014
.. D 0 Sat Jun 2 01:50:55 2018
40913 blocks of size 262144. 28580 blocks available
在服务端:
[root@server ~]# setenforce 0 设置selinux为警告可以看到文件
[root@server ~]# setenforce 1 设置selinux为强制不可以看到文件
[root@server ~]# setsebool -P samba_export_all_ro on 设定布尔值之后就可以直接看到,ro表示只读
在客户端:
[root@client ~]# smbclient //172.25.254.221/mnt -U student 看不到建立的文件
Enter student's password:
Domain=[MYGROUP] OS=[Unix] Server=[Samba 4.1.1]
smb: \> ls 设置selinux为警告可以看到文件
. D 0 Sat Jun 2 02:01:15 2018
.. D 0 Sat Jun 2 01:50:55 2018
file1 N 0 Sat Jun 2 02:01:15 2018
file2 N 0 Sat Jun 2 02:01:15 2018
file3 N 0 Sat Jun 2 02:01:15 2018
file4 N 0 Sat Jun 2 02:01:15 2018
file5 N 0 Sat Jun 2 02:01:15 2018
40913 blocks of size 262144. 28579 blocks available 设置selinux为强制不可以看到文件
smb: \> ls
. D 0 Sat Jun 2 02:01:15 2018
.. D 0 Sat Jun 2 01:50:55 2018
40913 blocks of size 262144. 28579 blocks available
smb: \> quit
[root@client ~]# smbclient //172.25.254.221/mnt -U student 设定布尔值连接可以看到文件
Enter student's password:
Domain=[MYGROUP] OS=[Unix] Server=[Samba 4.1.1]
smb: \> ls
. D 0 Sat Jun 2 02:01:15 2018
.. D 0 Sat Jun 2 01:50:55 2018
file1 N 0 Sat Jun 2 02:01:15 2018
file2 N 0 Sat Jun 2 02:01:15 2018
file3 N 0 Sat Jun 2 02:01:15 2018
file4 N 0 Sat Jun 2 02:01:15 2018
file5 N 0 Sat Jun 2 02:01:15 2018
40913 blocks of size 262144. 28578 blocks available
smb: \> quit
参数的讲解:
1,browseable是否允许浏览
在服务端:
[root@server ~]# vim /etc/samba/smb.conf 编辑主配置文件
[root@server ~]# systemctl restart smb.service 重启服务
在客户端:
[root@client ~]# smbclient -L //172.25.254.221 看不到DIR目录
Enter root's password:
Anonymous login successful
Domain=[MYGROUP] OS=[Unix] Server=[Samba 4.1.1]
Sharename Type Comment
--------- ---- -------
mnt Disk /mnt dir
IPC$ IPC IPC Service (Samba Server Version 4.1.1)
Anonymous login successful
Domain=[MYGROUP] OS=[Unix] Server=[Samba 4.1.1]
Server Comment
--------- -------
Workgroup Master
--------- -------
在服务端:
[root@server ~]# vim /etc/samba/smb.conf 编辑主配置文件,打开允许浏览
[root@server ~]# systemctl restart smb.service 重启服务
在客户端:
[root@client ~]# smbclient -L //172.25.254.221 可以看到DIR目录
Enter root's password:
Anonymous login successful
Domain=[MYGROUP] OS=[Unix] Server=[Samba 4.1.1]
Sharename Type Comment
--------- ---- -------
DIR Disk westos dir
mnt Disk /mnt dir
IPC$ IPC IPC Service (Samba Server Version 4.1.1)
Anonymous login successful
Domain=[MYGROUP] OS=[Unix] Server=[Samba 4.1.1]
Server Comment
--------- -------
Workgroup Master
--------- -------
2.writeable可写参数:
在服务端:
[root@server ~]# vim /etc/samba/smb.conf 编辑主配置文件
[root@server ~]# systemctl restart smb.service 重启服务
在客户端:
[root@client ~]# mount //172.25.254.221/DIR /mnt -o username=student,password=xfl 挂载
[root@client ~]# cd /mnt/
[root@client mnt]# ls
[root@client mnt]# touch file 不可写因为没有权限
touch: cannot touch ‘file’: Permission denied
在服务端:
[root@server ~]# ls -ld /westos/ 查看权限
drwxr-xr-x. 2 root root 6 Jun 2 01:50 /westos/
[root@server ~]# chmod 777 /westos/ 赋予权限不然不可写
在客户端:
[root@client mnt]# touch file 可以建立文件
[root@client mnt]# ll
total 0
-rw-r--r-- 1 student student 0 Jun 2 02:40 file
[root@client mnt]# rm -fr file 可以删除文件因位权限为777
[root@client mnt]# ll
total 0
[root@client mnt]# cd
[root@client ~]# umount /mnt/ 卸载
[root@client ~]# mount //172.25.254.221/DIR /mnt -o username=westos,password=xfl用westos用户挂载测试可写
[root@client ~]# touch /mnt/file 可以建立文件
[root@client ~]# ll /mnt/ 只能看到ID
total 0
-rw-r--r-- 1 1001 1001 0 Jun 2 02:41 file
[root@client ~]# id westos因为客户端没有westos用户
id: westos: no such user
在服务端:
[root@server ~]# id westos 服务端有westos用户
uid=1001(westos) gid=1001(westos) groups=1001(westos)
3.write list设定指定用户可写:
在服务端:
[root@server ~]# vim /etc/samba/smb.conf 编辑主配置文件
327 write list = student 只有student用户可写
[root@server ~]# systemctl restart smb.service 重启服务
在客户端:
[root@client ~]# umount /mnt/
[root@client ~]# mount //172.25.254.221/DIR /mnt -o username=westos,password=xfl
[root@client ~]# touch /mnt/aaa westos用户不可写
touch: cannot touch ‘/mnt/aaa’: Permission denied
[root@client ~]# umount /mnt/
[root@client ~]# mount //172.25.254.221/DIR /mnt -o username=student,password=xfl
[root@client ~]# touch /mnt/aa student用户可写
[root@client ~]# ls /mnt/
aa file
4.write list= @student设定指定组可写:
+=@代表组用户可写
在服务端:
[root@server ~]# vim /etc/samba/smb.conf 编辑主配置文件
327 write list = @student 只有student用户的组可以写
[root@server ~]# systemctl restart smb.service 重启服务
在客户端:
[root@client ~]# umount /mnt/ 卸载
[root@client ~]# mount //172.25.254.221/DIR /mnt -o username=westos,password=xfl[root@client ~]# cd /mnt/ 用westos挂载,因为westos不在student组里面不可写
[root@client mnt]# touch bb
touch: cannot touch ‘bb’: Permission denied
在服务端:
[root@server ~]# id westos
uid=1001(westos) gid=1001(westos) groups=1001(westos)
[root@server ~]# usermod -G student westos 将westos组加入student
在客户端:
[root@client mnt]# umount /mnt/
[root@client ~]# mount //172.25.254.221/DIR /mnt -o username=westos,password=xfl 用westos挂载
[root@client ~]# touch /mnt/fil 更改组之后可以建立文件
[root@client ~]# ls -l /mnt/
total 0
-rw-r--r-- 1 student student 0 Jun 2 02:50 aa
-rw-r--r-- 1 1001 1001 0 Jun 2 02:55 fil
5.指定共享目录的超级用户,建立在可写功能打开:
在服务端:
[root@server ~]# chmod 755 /westos/ 将权限改到超级用户可以执行
[root@server ~]# ls -ld /westos/ 查看权限
drwxr-xr-x. 2 root root 36 Jun 2 02:55 /westos/
在客户端:
[root@client ~]# umount /mnt/
[root@client ~]# mount //172.25.254.221/DIR /mnt -o username=westos,password=xfl westos不是超级用户
[root@client ~]# touch /mnt/xfl 无法建立文件
touch: cannot touch ‘/mnt/xfl’: Permission denied
在服务端:
[root@server ~]# vim /etc/samba/smb.conf 编辑主配置文件
328 admin users= westos 指定westos目录为超级用户
[root@server ~]# systemctl restart smb.service 重启服务
在客户端:
[root@client ~]# umount /mnt/
[root@client ~]# mount //172.25.254.221/DIR /mnt -o username=westos,password=xfl westos已经为超级用户
[root@client ~]# touch /mnt/xfl 可以建立文件
[root@client ~]# ll /mnt/
total 0
-rw-r--r-- 1 student student 0 Jun 2 02:50 aa
-rw-r--r-- 1 1001 1001 0 Jun 2 02:55 fil
-rw-r--r-- 1 1001 1001 0 Jun 2 02:55 file
-rw-r--r-- 1 root 1001 0 Jun 2 03:03 xfl 文件用户为root,组为1001
多用户挂载:
在客户端操作:
[root@client ~]# useradd linux 建立用户
[root@client ~]# su - linux 切换到linux用户
[linux@client ~]$ cd /mnt/
[linux@client mnt]$ ls 不知道smb用户密码就可以看到挂载之后的内容不合理
aa fil file xfl
[linux@client mnt]$ cd
[linux@client ~]$ logout
[root@client ~]# df 查看挂载
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/vda1 10473900 3180848 7293052 31% /
devtmpfs 469344 0 469344 0% /dev
tmpfs 484932 80 484852 1% /dev/shm
tmpfs 484932 12784 472148 3% /run
tmpfs 484932 0 484932 0% /sys/fs/cgroup
/dev/mapper/vg0-vo 483670 2355 451824 1% /home
//172.25.254.221/DIR 10473900 3157764 7316136 31% /mnt
[root@client ~]# umount /mnt/ 解除挂载
由于任何用户都可以看到挂载内容,所以需要添加认证:
[root@client ~]# yum install cifs-utils.x86_64 -y 安装加密服务
[root@client ~]# vim /root/smbpass 编辑文件
[root@client ~]# cat /root/smbpass 写入smb用户密码,写入student用户
username=student
password=xf
[root@client ~]# mount -o credentials=/root/smbpass,sec=ntlmssp,multiuser //172.25.254.221/DIR /mnt将上一个实验的DIR目录进行多用户挂载,认证方式为ntlmssp
[root@client ~]# cd /mnt/
[root@client mnt]# ls
aa fil file xfl
[root@client mnt]# su - linux
Last login: Sat Jun 2 03:27:42 EDT 2018 on pts/0
[linux@client ~]$ cd /mnt/
[linux@client mnt]$ ls 已经没有权限查看/mnt/里面内容
ls: reading directory .: Permission denied
不知道密码认证无法通过:
[linux@client mnt]$ cifscreds add -u westos 172.25.254.221 建立认证
Password: 随便输入密码也不可以通过认证
[linux@client mnt]$ ls 操作被拒绝
ls: reading directory .: Permission denied
[linux@client mnt]$ cifscreds add -u westos 172.25.254.221 再次认证会出现缓存必须清除认证信息
You already have stashed credentials for 172.25.254.221 (172.25.254.221)
If you want to update them use:
cifscreds update
[linux@client mnt]$ cifscreds clearall 清除认证信息
知道密码进行认证:
[linux@client mnt]$ cifscreds add -u westos 172.25.254.221 认证westos用户,密码为xfl
Password:
[linux@client mnt]$ ls 可以看到文件
aa fil file xfl
[linux@client mnt]$ touch /mnt/file2 同时可以建立文件
[linux@client mnt]$ ll /mnt 文件属性用户为root,组用户为linux
total 0
-rw-r--r-- 1 student student 0 Jun 2 02:50 aa
-rw-r--r-- 1 linux linux 0 Jun 2 02:55 fil
-rw-r--r-- 1 linux linux 0 Jun 2 02:55 file
-rw-r--r-- 1 root linux 0 Jun 2 03:35 file2
-rw-r--r-- 1 root linux 0 Jun 2 03:03 xfl
[linux@client mnt]$ df 查看挂载
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/vda1 10473900 3184764 7289136 31% /
devtmpfs 469344 0 469344 0% /dev
tmpfs 484932 80 484852 1% /dev/shm
tmpfs 484932 12756 472176 3% /run
tmpfs 484932 0 484932 0% /sys/fs/cgroup
/dev/mapper/vg0-vo 483670 2355 451824 1% /home
//172.25.254.221/DIR 10473900 3157812 7316088 31% /mnt
[linux@client mnt]$ logout
smb的匿名访问:
客户端:
[root@client ~]# df 查看挂载,有挂载的话解除挂载
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/vda1 10473900 3182816 7291084 31% /
devtmpfs 469344 0 469344 0% /dev
tmpfs 484932 80 484852 1% /dev/shm
tmpfs 484932 12756 472176 3% /run
tmpfs 484932 0 484932 0% /sys/fs/cgroup
/dev/mapper/vg0-vo 483670 2355 451824 1% /home
[root@client ~]# smbclient //172.25.254.221/DIR 匿名用户访问被拒绝
Enter root's password:
Anonymous login successful
Domain=[MYGROUP] OS=[Unix] Server=[Samba 4.1.1]
tree connect failed: NT_STATUS_ACCESS_DENIED
服务端:
[root@server ~]# vim /etc/samba/smb.conf 编辑主配置文件
125 map to guest = bad user 写入一个smb的映射,将所有用户映射成guest用户
329 guest ok = yes guest访问打开
打开guest访问:
[root@server ~]# systemctl restart smb.service 重启服务
客户端:
[root@client ~]# smbclient //172.25.254.221/DIR 当服务端配置文件设置好了之后可以匿名用户访问
Enter root's password:
Domain=[MYGROUP] OS=[Unix] Server=[Samba 4.1.1]
smb: \> ls
. D 0 Sat Jun 2 03:35:03 2018
.. D 0 Sat Jun 2 01:50:55 2018
file N 0 Sat Jun 2 02:55:24 2018
aa N 0 Sat Jun 2 02:50:56 2018
fil N 0 Sat Jun 2 02:55:29 2018
xfl N 0 Sat Jun 2 03:03:49 2018
file2 N 0 Sat Jun 2 03:35:03 2018
40913 blocks of size 262144. 28575 blocks available
smb: \> quit
[root@client ~]# mount //172.25.254.221/DIR /mnt -o username=guest,password="" 可以使用guest用户空密码挂载
[root@client ~]# df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/vda1 10473900 3182776 7291124 31% /
devtmpfs 469344 0 469344 0% /dev
tmpfs 484932 80 484852 1% /dev/shm
tmpfs 484932 12756 472176 3% /run
tmpfs 484932 0 484932 0% /sys/fs/cgroup
/dev/mapper/vg0-vo 483670 2355 451824 1% /home
//172.25.254.221/DIR 10473900 3158220 7315680 31% /mn