最近在玩linux,使用的是unbuntu操作系统。代码设计一开始使用的是vim,然后编译、执行,感觉一系列操作非常的不方便。xhell远端操作已经搞定了,现在就差在windows下操作linux的文件夹了,也就是共享文件夹。
在网上找了很多方法,最终确定使用samba。samba教程也很多,但是都没成功,感觉很不详细,最终结合了大量的教程,综合使用才成功!下面我以新手的角度,一步步的写步骤,尽最大可能详细!
1.安装samba
sudo apt-get install samba
2.在unbuntu下创建即将共享的文件夹
sudo mkdir /home/share //share就是即将共享的文件夹
3.修改配置文件
sudo nano /etc/samba/smb.conf
键盘:ctrl+v ,翻页,翻到最后一页,然后添加如下内容(直接复制粘贴出现过异常,最好自己敲一遍)
[share-name]
path = /home/share
available = yes
browseable = yes
public = yes
writable = yes
valid users = name
create mask = 0700
directory mask =0700
force user =nobody
force group = nogroup
按键:ctrl+o ,回车,ctrl+x;
命令说明:
[share-name] //这个是接下来windows端显示的文件夹名字
path = /home/share //这个是共享文件夹的路径,share就是共享的文件夹
valid users = name //name就是用户的登录名,windows登录的时候要用到这个
4.启动samba
sudo /etc/init.d/samba start //如果没启动,则看不到共享文件夹
有些情况下/etc/init.d/目录下没有samba目录,也可以使用 sudo service smbd start
5.增加用户
sudo smbpasswd -a name //添加用户,这个name必须是系统账户里拥有的,也就是同网络下,如果不行请参考最下面
sudo smbpasswd -e name //使能用户
然后输入两次密码
6.重启samba
sudo /etc/init.d/samba restart 或者 sudo service smbd restart 重启
WINDOWS登录
其他,记录一些相关指令
1.windows能访问,但是不能给文件夹改名字:
2.添加用户失败
Samba用户必须是Linux的用户,不然创建Samba会失败。
sudo useradd -m name
“-m”选项的意思是创建Linux用户的同时创建用户目录/home/username/。添加Linux成功之后,要启用用户账户,不然添加的账户还是无法登陆。
sudo passwd name
提示输入两次密码,就可以创建成功。
Linux用户添加之后,就可以添加Samba账户了。如果不是已经存在的Linux用户就会提示错误“Failed to find user luan in passdb backend.”
smbpasswd -L -a name
3.windows访问时发现没有写权限
这是因为/home
目录通常属于用户root,需要访问的账号有管理员权限才可以。
sudo usermod -aG sudo name 将name用户增加管理员权限,重启系统之后就可以了