Create a gist now

Instantly share code, notes, and snippets.

Samba on OpenWrt 配置

##安装

opkg update && opkg install samba luci-app-samba

##配置

匿名登录

#/etc/config/samba
config sambashare
        option name 'mnt'
        option path '/mnt'
        option users  ' nobody'
        option read_only 'no'
        option guest_ok 'yes'
        option create_mask '0700'
        option dir_mask '0700'

###用户名密码登陆

  1. 先添加一个用户, 在/etc/passwd文件中添加一行:newuser:*:1000:65534:newuser:/var:/bin/false,也可以使用root用户登录,需要注释掉smb.conf.template 里面的行invalid users = root
  2. 为这个用户添加Samba密码smbpasswd -a newuser
  3. 配置:
config sambashare
        option name 'root'
        option path '/'
        option users 'newuser'
        option read_only 'no'
        option guest_ok 'no'
        option create_mask '0700'
        option dir_mask '0700'

##问题及解决方案 ###目录没有打开或写入权限 Samba目录文件不能写入一般是由于权限原因引起的,可以从以下几个方面检查:

  1. 检查Samba配置文件是否允许该用户访问;
  2. 检查Samba配置文件该目录是否为只读;
  3. 检查一下挂载的文件系统是否挂载可写;
  • 挂载fat的命令为mount -o iocharset=utf8,umask=000,dmask=000,fmask=000 /dev/sda1 /mnt/sda1
  • 挂载ext3、ext4的命令为mount /dev/sda1 /mnt/sda1 -o rw,sync
  1. 将挂载目录的权限改为777;

###Windows登录错误 用Windows登录Samba时提示不允许一个用户使用一个以上用户名与一个服务器或共享资源的多重连接,,使用下面的命令删除已保存的用户名再次登录就可以了:

net use * /del /y

如果用户名和密码都输入正确,点击登陆却提示错误的话。这时候可以让Windows记住用户名和密码,然后就可以登录了。

##参考资料

@laggardkernel

有没有办法做到同一共享目录下,不同用户不同权限?例如,匿名用户(guest)只读,root用户可读可写可执行。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment