安装
步骤:
安装Samba服务器:
在要共享文件的计算机上安装Samba服务器。sudo apt update sudo apt install samba
配置Samba共享:
编辑Samba配置文件,添加共享信息。sudo nano /etc/samba/smb.conf
在文件末尾添加以下内容,替换其中的
your_share_name
和/path/to/shared/folder
为你想要的共享名称和路径。[your_share_name] path = /path/to/shared/folder read only = no guest ok = yes
保存并关闭文件。
设置Samba用户密码:
创建一个Samba用户,并为其设置密码。sudo smbpasswd -a username
其中,
username
是你选择的Samba用户名。重启Samba服务:
sudo service smbd restart
在另一台计算机上访问共享:
在另一台计算机上,使用文件管理器或命令行访问Samba共享。smb://ip_address/your_share_name
其中,
ip_address
是共享计算机的IP地址,your_share_name
是在Samba配置中定义的共享名称。
这两种方法都可以在局域网中方便地实现文件共享。选择其中一种方法,根据你的需求进行配置。
设置root登录
在 Samba 中启用 root
用户登录并设置 root
用户密码可以通过以下步骤完成:
设置 Samba
root
用户密码:
使用以下命令设置 Samba 中的root
用户密码。确保密码与系统中的root
用户密码相匹配。sudo smbpasswd -a root
输入并确认密码。
编辑 Samba 配置文件:
打开 Samba 配置文件进行编辑。这通常是/etc/samba/smb.conf
。sudo nano /etc/samba/smb.conf
在 [global] 部分添加
username map
行:
在[global]
部分中添加以下行:[global] username map = /etc/samba/smbusers
创建
smbusers
文件:
创建一个包含用户映射的smbusers
文件。sudo nano /etc/samba/smbusers
在文件中添加以下行:
root = administrator admin
保存并关闭文件。
重启 Samba 服务:
重启 Samba 服务使更改生效。sudo service smbd restart
现在,你应该能够使用 root
用户登录到 Samba 共享。请注意,使用 root
用户登录 Samba 可能会带来一些安全风险,因此请确保仅在必要时使用,并确保密码强度足够。
查看日志
sudo less /var/log/samba/log.smbd
一键脚本
#!/bin/bash
# 以下是一个简单的一键 Shell 脚本,用于安装 Samba,配置 Samba 以允许 root 用户登录,并共享 /root/ 目录
# 安装 Samba
sudo apt-get update
sudo apt-get install -y samba
# 备份原始的 smb.conf 文件
sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.bak
# 配置 Samba
cat <<EOL | sudo tee /etc/samba/smb.conf
[global]
workgroup = WORKGROUP
server string = Samba Server %v
netbios name = ubuntu
security = user
map to guest = bad user
username map = /etc/samba/smbusers
[RootShare]
path = /root/
writable = yes
guest ok = yes
valid users = root
force user = root
force group = root
EOL
# 创建 smbusers 文件
echo "root = administrator admin" | sudo tee /etc/samba/smbusers
# 重启 Samba 服务
sudo service smbd restart
# 设置 Samba root 用户密码
sudo smbpasswd -a root
echo "Samba 安装和配置完成。"
复制
在 smbclient
命令行界面中,你可以使用 get
命令来从 Samba 共享复制文件到本地。以下是一些基本的示例:
复制单个文件:
smb: \\hs\\> get handshake_CUZB3n_E8-B5-41-28-9C-A3_2023-12-13T12-09-41.cap
这将从 Samba 共享下载文件到当前本地工作目录。
复制整个目录:
smb: \\> lcd /path/to/local/directory smb: \\> recurse smb: \\> prompt smb: \\> mget *
这将切换到本地目录,递归下载共享目录中的所有文件。
prompt
命令用于确认是否要下载每个文件。指定本地文件名:
smb: \\hs\\> get handshake_CUZB3n_E8-B5-41-28-9C-A3_2023-12-13T12-09-41.cap local_filename.cap
这将从 Samba 共享下载文件,并将其保存为指定的本地文件名。
请注意,在 Samba 的 smbclient
命令行中,有时需要在命令前加上 !
来执行本地命令。例如:
smb: \\hs\\> !cp handshake_CUZB3n_E8-B5-41-28-9C-A3_2023-12-13T12-09-41.cap /path/to/local/directory/
上述命令中,!cp
表示执行本地的 cp
命令。
欢迎指出任何有错误或不够清晰的表达,可以在下面评论区评论。