搭建SMB(155MB)
#安装
apt install samba
#添加一个用户并设置密码,必须是Linux系统内已存在的用户,可以是root
#添加Linux用户 useradd 用户名
smbpasswd -a 用户名
#查看用户
pdbedit -w -L
#删除用户 username是用户名
sudo smbpasswd -x username
sudo pdbedit -x -u username
vi /etc/samba/smb.conf
按I键进入编辑模式,粘贴以下内容,然后按Esc键,输入:wq保存并退出
- [web]是显示的文件夹名称,显示为web
- path是实际路径
- browseable是可列出目录和文件
- read only是只读模式
- create mask是创建的文件默认权限
- directory mask是创建的文件夹默认权限
- guest ok是匿名登录是否可见
[web]
path = /var/www/html
browseable = yes
read only = no
create mask=0777
directory mask=0777
guest ok = no
重启samba令其生效 systemctl restart smbd
systemctl restart smbd #重启smb服务
systemctl status smbd #查看smb服务状态
关闭SMB匿名用户
-
先用root用户登录SSH,或者登录了SSH用
sudo -i
输入密码切换到root用户(输密码时不显示,但实际已经输进去了) -
关闭SMB匿名用户登录
vi /etc/samba/smb.conf
此时在命令模式,按I键进入编辑模式,用方向键找到这一行
map to guest = bad user
在前面加上一个#,变成
#map to guest = bad user
按Esc进入命令模式,输入:wq
退出并保存(:是英文冒号) -
添加root用户到SMB用户中
smbpasswd -a root
然后会要求输入密码(输密码时不显示,但实际已经输进去了),我输入的和系统账户一样,不知道不一样可行不
其中root是用户名,我直接添加root用户。
实测有root用户添加后直接拥有最高权限,不需要额外设置。
没测试添加其他的账户,不知道其他用户有没有最高权限,还需不需要额外设置 -
重启smb服务
输入以下命令重启smb服务
systemctl restart smbd
或者service smbd restart
或者/etc/init.d/smbd restart
或者smbd -D
稍等几秒钟,smb服务就重启好了 -
Windows在资源管理器输入
\\IP
比如\\192.168.1.4
就能弹出登录框,输入账户密码就能登录进去了
Windows系统如果之前用匿名账户登录了的,刷新一下就会发现被踢出来提示密码错误了
此时换用刚刚添加的账户重新登录即可
碎碎念:
不关闭匿名登录,即使添加了root账号,Windows也默认匿名登录,想要用账户登录也不行。
匿名登录权限低,不能管理Transmission的下载文件,所以要关闭匿名登录。
而安卓的ES文件管理器就可以匿名和root选择来登录,着不知道算不算Windows的BUG,反正为了解决这个BUG我是关闭了匿名登录。
因为开了IPv6公网+IPv6的DDNS,还玩BT,很容易就被人家拿到IPv6地址来访问,不安全,看也不想给不怀好意的人看,只读满足不了我的需求