Board logo

标题: CentOS8_在Docker中安装Samba [打印本页]

作者: admin    时间: 2023-3-14 12:11     标题: CentOS8_在Docker中安装Samba

笺注:Docker的安装可参考 CentOS8_在Docker中使用Nginx的反向代理 查看Docker的版本信息: [root@centos8 ~]# docker -v Docker version 20.10.21, build baeda1f [root@centos8 ~]# ###### 从公网下载镜像:( 以下是下载MariaDB10.3.38的镜像 ) [root@centos8 ~]# docker pull mariadb:10.3.38 10.3.38: Pulling from library/mariadb df6635ed1257: Pull complete d5dcb717eef2: Pull complete a070ce9ccedb: Pull complete a053d9150480: Pull complete 381d7acd8833: Pull complete 589a0f4fa64a: Pull complete c639e63296d1: Pull complete 705d9b9360b6: Pull complete c63a93d49143: Pull complete Digest: sha256:5157cee1d3297142bbcd7798787395086b3c1bd2f424362a02a022f203d1c944 Status: Downloaded newer image for mariadb:10.3.38 docker.io/library/mariadb:10.3.38 [root@centos8 ~]# 查看宿主机的所有镜像: [root@centos8 ~]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE mariadb 10.3.38 c779ed869cd4 9 days ago 369MB [root@centos8 ~]# 使用镜像“mariadb:10.3.38”创建并启动容器“Samba_1”: [root@centos8 ~]# docker run -itd --name Samba_1 -p 445:445 -e MYSQL_ROOT_PASSWORD=888 -v /opt/share:/home/database_1 mariadb:10.3.38 9c2e702d9be36803d73931219441fda0694769869fbf9870b39c64922d347ab5 [root@centos8 ~]# 注释: -itd : 以交互模式情况下后台运行。 --name : 指定容器名称。 -p 端口映射 : 第一个445是宿主机的端口,暴露给外部直接访问;第二个445是容器的端口。 -e 环境配置 : 指定数据库管理员root@localhost的密码为888 -v 挂载目录 : 这里是把宿主机的目录/opt/share挂载到容器的目录/home/database_1;假如目录不存在,就会自动创建。 mariadb:10.3.38 : 镜像名称:版本号 在宿主机查看正在运行的容器: [root@centos8 ~]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 9c2e702d9be3 mariadb:10.3.38 "docker-entrypoint.s…" 50 seconds ago Up 49 seconds 0.0.0.0:445->445/tcp, :::445->445/tcp, 3306/tcp Samba_1 [root@centos8 ~]# 注释:宿主机的TCP 445端口,映射到容器“Samba_1”的TCP 445端口。 ### 进入容器“Samba_1”: [root@centos8 ~]# docker exec -it Samba_1 /bin/bash root@9c2e702d9be3:/# 查看容器“Samba_1”的系统版本信息: root@9c2e702d9be3:/# cat /etc/issue Ubuntu 20.04.5 LTS \n \l root@9c2e702d9be3:/# uname -a Linux 9c2e702d9be3 4.18.0-193.el8.x86_64 #1 SMP Fri May 8 10:59:10 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux root@9c2e702d9be3:/# 查看MariaDB的版本信息: root@9c2e702d9be3:/# mysql -V mysql Ver 15.1 Distrib 10.3.38-MariaDB, for debian-linux-gnu (x86_64) using readline 5.2 root@9c2e702d9be3:/# 在容器“Samba_1”中安装Samba: root@9c2e702d9be3:/# whoami root root@9c2e702d9be3:/# root@9c2e702d9be3:/# apt-get update root@9c2e702d9be3:/# apt-get -y install samba samba-common 查看Samba的版本: root@9c2e702d9be3:/# smbd --version Version 4.15.13-Ubuntu root@9c2e702d9be3:/# root@9c2e702d9be3:/# dpkg -l |grep samba ii python3-samba 2:4.15.13+dfsg-0ubuntu0.20.04.1 amd64 Python 3 bindings for Samba ii samba 2:4.15.13+dfsg-0ubuntu0.20.04.1 amd64 SMB/CIFS file, print, and login server for Unix ii samba-common 2:4.15.13+dfsg-0ubuntu0.20.04.1 all common files used by both the Samba server and client ii samba-common-bin 2:4.15.13+dfsg-0ubuntu0.20.04.1 amd64 Samba common files used by both the server and the client ii samba-dsdb-modules:amd64 2:4.15.13+dfsg-0ubuntu0.20.04.1 amd64 Samba Directory Services Database ii samba-libs:amd64 2:4.15.13+dfsg-0ubuntu0.20.04.1 amd64 Samba core libraries ii samba-vfs-modules:amd64 2:4.15.13+dfsg-0ubuntu0.20.04.1 amd64 Samba Virtual FileSystem plugins root@9c2e702d9be3:/# 查看Samba的主配置文件:(默认就是允许使用Samba用户验证、匿名用户) root@9c2e702d9be3:/# cat /etc/samba/smb.conf |grep -v "^#"|grep -v "^;"|grep -v "^$" [global] workgroup = WORKGROUP server string = %h server (Samba, Ubuntu) log file = /var/log/samba/log.%m max log size = 1000 logging = file panic action = /usr/share/samba/panic-action %d server role = standalone server obey pam restrictions = yes unix password sync = yes passwd program = /usr/bin/passwd %u passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* . pam password change = yes map to guest = bad user usershare allow guests = yes [printers] comment = All Printers browseable = no path = /var/spool/samba printable = yes guest ok = no read only = yes create mask = 0700 [print$] comment = Printer Drivers path = /var/lib/samba/printers browseable = yes read only = yes guest ok = no root@9c2e702d9be3:/# 创建共享目录: root@9c2e702d9be3:/# chmod -R 777 /home/database_1 root@9c2e702d9be3:/# root@9c2e702d9be3:/# mkdir -p /home/database_2 root@9c2e702d9be3:/# chmod -R 777 /home/database_2 root@9c2e702d9be3:/# root@9c2e702d9be3:/# mkdir -p /home/database3 root@9c2e702d9be3:/# chmod -R 777 /home/database3 root@9c2e702d9be3:/# 添加Samba用户:(使用Samba用户验证) root@9c2e702d9be3:/# useradd -s /sbin/nologin zhuohua root@9c2e702d9be3:/# smbpasswd -a zhuohua New SMB password: Retype new SMB password: Added user zhuohua. root@9c2e702d9be3:/# root@9c2e702d9be3:/# useradd -s /sbin/nologin user_1 root@9c2e702d9be3:/# smbpasswd -a user_1 New SMB password: Retype new SMB password: Added user user_1. root@9c2e702d9be3:/# ### 在宿主机上修改容器“Samba_1”的Samba的主配置文件: [root@centos8 ~]# docker cp Samba_1:/etc/samba/smb.conf ./ [root@centos8 ~]# vi smb.conf 追加: ## 用户zhuohua对目录/home/database_1里的数据可读可写;用户user_1对目录/home/database_1里的数据只可读: [Share1] ##共享时目录显示的名称 comment = 共享文件夹1 path = /home/database_1 public = no writeable = yes valid users = zhuohua,user_1 read list = user_1 write list = zhuohua ## 用户zhuohua对目录/home/database_2里的数据可读可写;用户user_1对目录/home/database_2里的数据不可读写: [共享文件夹2] ##共享时目录显示的名称 comment = 共享文件夹2 path = /home/database_2 public = no writeable = yes valid users = zhuohua write list = zhuohua ## 用户zhuohua对目录/home/database3里的数据只可读;用户user_1对目录home/database3里的数据不可读写: [共享文件夹_share3] ##共享时目录显示的名称 comment = 共享文件夹3 path = home/database3 public = no writeable = yes valid users = zhuohua read list = zhuohua 在宿主机上,往容器“Samba_1”上传修改好的文件: [root@centos8 ~]# docker cp ./smb.conf Samba_1:/etc/samba/ [root@centos8 ~]# ### 在容器“Samba_1”里重启Samba服务:(Samba服务不会自动启动) root@9c2e702d9be3:/# service smbd restart [ OK ]pping SMB/CIFS daemon smbd [ OK ]rting SMB/CIFS daemon smbd root@9c2e702d9be3:/# 查看Samba的状态: root@9c2e702d9be3:/# /etc/init.d/smbd status * smbd is running root@9c2e702d9be3:/# 创建任务计划: root@9c2e702d9be3:/# apt-get -y install vim root@9c2e702d9be3:/# crontab -e -u root 覆盖: */1 * * * * chmod -R 777 /home/database_1 */1 * * * * chmod -R 777 /home/database_2 */1 * * * * chmod -R 777 /home/database3 查看任务计划: root@9c2e702d9be3:/# crontab -l -u root */1 * * * * chmod -R 777 /home/database_1 */1 * * * * chmod -R 777 /home/database_2 */1 * * * * chmod -R 777 /home/database3 root@9c2e702d9be3:/# 要手动启动任务计划服务:(cron服务不会自动启动) root@9c2e702d9be3:/# service cron status * cron is not running root@9c2e702d9be3:/# root@9c2e702d9be3:/# service cron start [ OK ]rting periodic command scheduler cron root@9c2e702d9be3:/# root@9c2e702d9be3:/# service cron status * cron is running root@9c2e702d9be3:/# ### Windows客户端访问容器“Samba_1”的Samba共享:(使用Samba用户验证) 图片1.png 图片2.png 图片3.png ### Ubuntu18.04桌面版的客户端访问容器“Samba_1”的Samba共享:(使用Samba用户验证) 打开Linux文件管理器,在左侧窗格中点击“其他位置”》“连接到服务器”: smb://192.168.168.154/Share1 图片4.png 图片5.png 图片6.png 实验至此, ## 用户zhuohua对目录/home/database_1里的数据可读可写;用户user_1对目录/home/database_1里的数据只可读(支持中文) ## 用户zhuohua对目录/home/database_2里的数据可读可写;用户user_1对目录/home/database_2里的数据不可读写(支持中文) ## 用户zhuohua对目录/home/database3里的数据只可读;用户user_1对目录home/database3里的数据不可读写(支持中文) ###### ###### Samba匿名共享: 在容器“Samba_1”里修改Samba的主配置文件: root@9c2e702d9be3:/# vi /etc/samba/smb.conf 追加: [共享文件夹] ##共享时目录显示的名称 comment = public path = /home/database4 browseable = yes public = yes writeable = no 注释:要删除前面添加的代码。 再次,查看Samba的主配置文件: root@9c2e702d9be3:/# cat /etc/samba/smb.conf |grep -v "^#"|grep -v "^;"|grep -v "^$" [global] workgroup = WORKGROUP server string = %h server (Samba, Ubuntu) log file = /var/log/samba/log.%m max log size = 1000 logging = file panic action = /usr/share/samba/panic-action %d server role = standalone server obey pam restrictions = yes unix password sync = yes passwd program = /usr/bin/passwd %u passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* . pam password change = yes map to guest = bad user usershare allow guests = yes [printers] comment = All Printers browseable = no path = /var/spool/samba printable = yes guest ok = no read only = yes create mask = 0700 [print$] comment = Printer Drivers path = /var/lib/samba/printers browseable = yes read only = yes guest ok = no [共享文件夹] comment = public path = /home/database4 browseable = yes public = yes writeable = no root@9c2e702d9be3:/# 创建共享目录: root@9c2e702d9be3:/# mkdir -p /home/database4 root@9c2e702d9be3:/# chmod -R 777 /home/database4 root@9c2e702d9be3:/# 在容器“Samba_1”里重启Samba服务: root@9c2e702d9be3:/# /etc/init.d/smbd restart [ OK ]pping SMB/CIFS daemon smbd [ OK ]rting SMB/CIFS daemon smbd root@9c2e702d9be3:/# 查看Samba的状态: root@9c2e702d9be3:/# service smbd status * smbd is running root@9c2e702d9be3:/# ### Windows客户端访问容器“Samba_1”的Samba共享:(使用Samba匿名用户) 图片7.png 图片8.png 实验至此, ## 不需要用户名、密码验证就可以登录了 ## 匿名用户对目录/home/database4里的数据只可读(支持中文) ###### ###### 登录容器“Samba_1”时,自动启动Samba服务、cron服务: 进入容器“Samba_1”: [root@centos8 ~]# docker exec -it Samba_1 /bin/bash root@9c2e702d9be3:/# root@9c2e702d9be3:/# whoami root root@9c2e702d9be3:/# root@9c2e702d9be3:/# pwd / root@9c2e702d9be3:/# root@9c2e702d9be3:/# cd ~ root@9c2e702d9be3:~# pwd /root root@9c2e702d9be3:~# root@9c2e702d9be3:~# ls -alh total 32K drwx------. 1 root root 67 Mar 13 04:10 . drwxr-xr-x. 1 root root 85 Mar 13 01:17 .. -rw-------. 1 root root 1.9K Mar 13 04:07 .bash_history -rw-r--r--. 1 root root 3.1K Dec 5 2019 .bashrc -rw-r--r--. 1 root root 161 Dec 5 2019 .profile -rw-r--r--. 1 root root 0 Mar 13 01:20 .selected_editor -rw-------. 1 root root 15K Mar 13 03:54 .viminfo -rw-r--r--. 1 root root 165 Mar 2 04:44 .wget-hsts root@9c2e702d9be3:~# root@9c2e702d9be3:~# vi .bashrc 追加: service smbd start service cron start root@9c2e702d9be3:~# tail -3 .bashrc #fi service smbd start service cron start root@9c2e702d9be3:~# 在宿主机重启容器“Samba_1”: [root@centos8 ~]# docker restart Samba_1 Samba_1 [root@centos8 ~]# 再次,进入容器“Samba_1”: [root@centos8 ~]# docker exec -it Samba_1 /bin/bash [ OK ]rting SMB/CIFS daemon smbd [ OK ]rting periodic command scheduler cron root@9c2e702d9be3:/# 笺注:至此,登录容器“Samba_1”时,会自动启动Samba服务、cron服务。 相关文章: 用户管理 Samba用户验证(一) 本地备份站点目录和数据库+crontab计划任务 CentOS8_在Docker中安装vsftpd

图片附件: 图片1.png (2023-3-14 12:16, 39.75 KB) / 下载次数 9
http://blog.zhuohua.store/attachment.php?aid=22185&k=679f0634953ec5279f2e584b46854a14&t=1714569277&sid=TkX271



图片附件: 图片2.png (2023-3-14 12:16, 30.74 KB) / 下载次数 11
http://blog.zhuohua.store/attachment.php?aid=22186&k=251a8967d02a51c82f3c1674671a1e4d&t=1714569277&sid=TkX271



图片附件: 图片3.png (2023-3-14 12:16, 104.05 KB) / 下载次数 11
http://blog.zhuohua.store/attachment.php?aid=22187&k=13f4a2a69ea53b1082ad9792fbb74b84&t=1714569277&sid=TkX271



图片附件: 图片4.png (2023-3-14 12:17, 49.5 KB) / 下载次数 6
http://blog.zhuohua.store/attachment.php?aid=22188&k=0acb1f9f10207e8f3ae7fa6a03218b27&t=1714569277&sid=TkX271



图片附件: 图片5.png (2023-3-14 12:17, 40.46 KB) / 下载次数 11
http://blog.zhuohua.store/attachment.php?aid=22189&k=cb9b8cbef8df9ba60a4bc57f134d485b&t=1714569277&sid=TkX271



图片附件: 图片6.png (2023-3-14 12:17, 37.13 KB) / 下载次数 10
http://blog.zhuohua.store/attachment.php?aid=22190&k=4743a04e50f523ab58c350ea65b9898a&t=1714569277&sid=TkX271



图片附件: 图片7.png (2023-3-14 12:19, 39.75 KB) / 下载次数 15
http://blog.zhuohua.store/attachment.php?aid=22191&k=aade4cb870e194d336dac411011bafd7&t=1714569277&sid=TkX271



图片附件: 图片8.png (2023-3-14 12:19, 75.26 KB) / 下载次数 12
http://blog.zhuohua.store/attachment.php?aid=22192&k=0762ed75b5d56b66692d5af8098fdf26&t=1714569277&sid=TkX271






欢迎光临 blog.zhuohua.store (http://blog.zhuohua.store/) Powered by Discuz! 7.2