先确认开启相关端口 139 445
关闭防火墙
iptables关闭
https://linux.cn/article-9791-1.html
停止/禁用 iptables 防火墙
对于较老的 Linux 内核,你可以选择使用 service iptables stop 停止 iptables 服务,但是如果你在用新内核,则只需清除所有策略并允许所有流量通过防火墙。这和你停止防火墙效果一样。
使用下面的命令列表来做到这一点。
root@kerneltalks # iptables -F
root@kerneltalks # iptables -X
root@kerneltalks # iptables -P INPUT ACCEPT
root@kerneltalks # iptables -P OUTPUT ACCEPT
root@kerneltalks # iptables -P FORWARD ACCEPT
这里 –
-F:删除所有策略链
-X:删除用户定义的链
-P INPUT/OUTPUT/FORWARD :接受指定的流量
完成后,检查当前的防火墙策略。它应该看起来像下面这样接受所有流量(和禁用/停止防火墙一样)
# iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
安装 :
sudo apt install samba -v
安装samba:sudo apt-get install samba
安装smbclient:sudo apt-get install smbclient
安装smbfs:sudo apt-get smbfs
安装之后查看是否安装成功:
samba --version
mkdir /home/public
cd /home/public
chown -R root:users /home/public
chmod -R ug=rwx,o=rx /home/public
备份原配置文件
sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.bak
编辑smb.conf 文件
sudo nano /etc/samba/smb.conf
####### Authentication #######
security = user
[homes]
read only = no
在末尾添加
[public] #要跟分享的目录名称一致
comment = samba home directory
path = /home/public/ #要分享的目录
public = yes
browseable = yes
read only = no
valid users = pi . #要创建的登陆用户名称
create mask = 0777
directory mask = 0777
force user = nobody
force group = nogroup
available = yes
这是因为没有加相应的系统账号,所以会提示Failed to add entry for user的错误,只需增加相应的系统账号pi就可以了:
[root@ubuntu ~]# groupadd pi -g 6000
[root@ubuntu ~]# useradd pi -u 6000 -g 6000 -s /sbin/nologin -d /dev/null
这时就可以用smbpasswd -a pi增加pi这个samba账号了!为了增加系统的安全性,所以加的系统账号不要给shell它,也不给它指定目录,到时在/home目录给pi账号建个文件夹,该文件夹只有test有读写权限即可!
如:
[root@ubuntu ~]# mkdir /home/public
[root@ubuntu ~]# chown -R pi:pi/home/public
若不想让另人访问,只让test用户可以访问,只需执行命令:
[root@ubuntu ~]# chmod u+rwx,g+rwx,o-rwx /home/myshare
这时可以用smbpasswd命令增加samba账号pi了
@ubuntu:~$ sudo smbpasswd -a pi
New SMB password:
Retype new SMB password:
Added user user.
/etc/init.d/samba-ad-dc restart