openwrt下安装samba完美解决

基本步骤为安装samba-server 和配置2个步骤。

0x01

安装samba服务端

opkg install samba36-server

只要顺利一般这一行命令就安装完毕,如果找不到该包,需要先update一下

  1. opkg update
  2. opkg install samba36-server

这个命令安装的是samba的3.6版本,如果将来版本升级可能会找不到该包,则先查看opkg软件源是哪个版本

  1. opkg update
  2. opkg list | grep samba

0x02

配置文件为/etc/samba/smb.conf.template

有文章说配置的是/etc/samba/smb.conf 但是在openwrt下,samba服务重启,该文件就被重置了。

vi /etc/samba/smb.conf.template

首先注释掉[global]下的invalid users = root 这行,如果不注释掉则拒绝root用户登录。

#invalid users = root

接着就是增加共享目录,例子如下:

[etc]

path = /etc

valid users = root

guest ok = no

admin users = root

#意思是建立一个名叫做“etc”的共享目录,目录的位置是/etc ,允许root用户登录,拒绝游客。

配置完后,root用户还是没法登录,应该说samba会用系统的登录名,但是不会用系统的密码做验证,所以需要为samba设置一下密码

smbpasswd -a root

根据该命令的提示,输入root的验证密码,之后共享则使用该密码登录。

最后重启一下samba

/etc/init.d/samba restart

0x03

把以上操作做成shell脚本:

  1. opkg update
  2. package=`opkg list | grep samba36-server | awk '{print $1}'`
  3. opkg install $package
  4. sed -i '/invalid users/s/invalid/#invalid/g' /etc/samba/smb.conf.template
  5. (cat <<EOF
  6. [etc]
  7. path = /etc
  8. valid users = root
  9. guest ok = no
  10. admin users = root
  11. [tmp]
  12. path = /tmp
  13. valid users = root
  14. guest ok = no
  15. admin users = root
  16. [usr]
  17. path = /usr
  18. valid users = root
  19. guest ok = no
  20. admin users = root
  21. [var]
  22. path = /var
  23. valid users = root
  24. guest ok = no
  25. admin users = root
  26. [www]
  27. path = /www
  28. valid users = root
  29. guest ok = no
  30. admin users = root
  31. EOF
  32. ) >>/etc/samba/smb.conf.template
  33. smbpasswd -a root
  34. /etc/init.d/samba restart

TL-WR720N v3路由刷入openwrt并挂载U盘,编译openwrt,使用barrier_breaker 14.07的imagebuilder编译

TL-WR720N v3

TL-WR720N v3 openwrt官网介绍

TP-LINK WR703N把OpenWrt挂载u盘教程

17

主题

1

好友

676

积分

Workshop Team

Rank: 8Rank: 8

跳转到指定楼层

楼主

sysupgrade
  发表于 2012-11-7 22:10:46  | 只看该作者  | 倒序浏览
本帖最后由 339388279 于 2012-11-8 11:08 编辑

因为系统只有4M空间,不够用,所以我们要把系统挂载在u盘上
根据刷机教程刷好机后,先不能安装luci,不然会内存不足
插上u盘
依次执行下列命令
opkg update
opkg install kmod-usb-storage block-mount kmod-fs-ext4  e2fsprogs
mke2fs -j /dev/sda
mount /dev/sda /mnt
mkdir /tmp/root
mount -o bind / /tmp/root
cp /tmp/root/* /mnt -a
umount /tmp/root

完成后,修改/etc/config/fstab 文件,让系统启动自动挂载,修改成如下
config mount
option target   /
option device   /dev/sda
option fstype   ext3
option options  rw,sync
option enabled  1
option enabled_fsck 0

执行如下命令让其生效
/etc/init.d/fstab enable

接着安装 web 控制台
opkg update
opkg install luci
/etc/init.d/uhttpd enable
/etc/init.d/uhttpd start

这样就成功把系统挂载到u盘上了

Openwrt手动释放内存

echo 3 > /proc/sys/vm/drop_caches

[OpenWrt] tp-link wr703n刷openwrt挂载u盘攻略

1. 下载openwrt固件到本地,要下载最新的,否则后续安装软件会有冲突.
http://downloads.openwrt.org/snapshots/trunk/ar71xx/openwrt-ar71xx-generic-tl-wr703n-v1-squashfs-factory.bin
2. 从web页面直接升级安装
3. 升级完成以后,系统默认没有web界面,需要telnet登陆,ip地址默认为 192.168.1.1,默认没有设置网关信息
4. telnet 登陆 192.168.1.1
5. 设置系统的网络,设置dns,网关等信息,默认没有.需要修改
修改 /etc/config/network
在 config interface ‘lan’ 内添加如下字段

option gateway ‘192.168.1.1’
option dns ‘192.168.1.1’

6. 安装usb,让u盘成为默认的根分区,因为系统只有4M空间,不够用.u盘要现在linux系统里面分区,最好分两个去,一个sda1,一个sda2. sda1作为系统的根分区,sda2可以用来存储文件
执行如下命令安装

opkg update
opkg install kmod-usb-storage block-mount kmod-fs-ext4

7. 安装完成以后,挂载u盘.如下命令将默认的系统盘转移到u盘中.

mount /dev/sda1 /mnt
mkdir /tmp/root
mount -o bind / /tmp/root
cp /tmp/root/* /mnt -a
umount /tmp/root

8. 修改 /etc/config/fstab 文件,让系统启动自动挂载,修改成如下

config mount
option target   /overlay
option device   /dev/sda1
option fstype   ext3
option options  rw,sync
option enabled  1
option enabled_fsck 0

执行如下命令让其生效

/etc/init.d/fstab enable

9. 接着安装 web 控制台

opkg update
opkg install luci
/etc/init.d/uhttpd enable
/etc/init.d/uhttpd start

10. 安装其他软件
*** Samba ***

opkg install samba36-server
opkg install luci-app-samba
vi /etc/config/samba

*** Transmission ***

opkg install transmission-daemon
opkg install transmission-web
opkg install luci-app-transmission
transmission-daemon
killall transmission-daemon
vi /etc/config

*** LVM ***

opkg install lvm2
lvm
pvcreate /dev/{sdb1,sdc1}
pvscan / pvdisplay
vgcreate usbvg /dev/{sdb1,sdc1}
vgscan / pvscan / vgdisplay
lvcreate -n usblv usbvg
lvscan / lvdisplay
mkfs.ext3 /dev/usbvg/usblv
mount /dev/usbvg/usblv /mnt/share

11. 所有工作完成以后, reboot

12. 设置并激活 swap 分区

mkswap /dev/sda2

修改 fstab 文件,激活

config swap
option device   /dev/sda2
option enabled  1
=====================================================================另方法:

openwrt官网介绍imagebuilder编译

TL-WR720N v3只有 flash 4M,刷入官网openwrt会没有多余空间去挂载u盘,安装其他软件,所以精简模块软件,编译,减小体积,能直接挂载u盘了,增加空间,就能下载软件,就好用了,imagebuilder是最方便的修改安装软件包,编译的方式

vmware centos7

https://archive.openwrt.org/barrier_breaker/14.07/ar71xx/generic/  下载imagebuilder

wget https://archive.openwrt.org/barrier_breaker/14.07/ar71xx/generic/OpenWrt-ImageBuilder-ar71xx_generic-for-linux-x86_64.tar.bz2
tar -xjf OpenWrt-ImageBuilder-ar71xx_generic-for-linux-x86_64.tar.bz2

cd OpenWrt-ImageBuilder-ar71xx_generic-for-linux-x86_64

make info 查看所有PROFILE参数,包括packages
make info |grep 720  看profile,

由于make image会下载需要的交叉编译环境,可以设置终端代理
export http_proxy=http://192.168.204.1:1081
export https_proxy=http://192.168.204.1:1081

make image PROFILE="TLWR720" PACKAGES="luci kmod-usb-storage kmod-fs-ext4 e2fsprogs block-mount -firewall -ip6tables -iptables -kmod-ipt-nathelper -odhcp6c"

bin/ar71xx/openwrt-ar71xx-generic-tl-wr720n-v3-squashfs-factory.bin  编译好的bin文件,去刷新固件
bin/ar71xx/openwrt-ar71xx-generic-tl-wr720n-v3-squashfs-sysupgrade.bin 是从已经是openwrt的路由刷新固件

TL-WR720N v3 插入U盘,开关拨到3G

web登录路由 192.168.1.1
1.设置密码
2.ssh登录openwrt, mkfs.ext4 /dev/sda1格式化U盘,一直回车
3.system---mount point 设置挂载点(选中上面的Enable this mount),/dev/sda1,挂载点/overlay,格式ext4
4.重启,后登录ssh openwrt,df看/overlay容量是否为U盘容量
openwrt桥接使用,电脑网线连接TL-WR720N v3路由,路由连接wifi上网

openwrt  network--wifi--点击scan  选择wifi点击后面的join network,输入密码,其他默认,下一页点击最下面的save & apply,保存后还会在这个页,会自动连接。(或者在network--interface最下面的wwan,clinet wifi名,点击右边的connect)
进入network--interface,看到刚才新建的桥接,默认名称wwan(下面有client wifi name),如果上面配置完没有自动连接,可以点击连接

 

openwrt 终端命令
opkg update
opkg install kmod-usb2
opkg list_installed
opkg remove name

opkg配置文件 /etc/opkg.conf  /rom/etc/opkg.conf(只读),可以在web上system--software--configuration看到,主要看配置的源地址

 

//刷回官方固件
连接路由,可以登录,设置root密码
ssh root@192.168.1.1
opkg update
opkg install openssh-sftp-server # 不安装不能用xftp传文件
使用xshell的sftp上传固件到/tmp, https://service.tp-link.com.cn/detail_download_918.html
# cat /proc/mtd看是否有firmware块
mtd -r write /tmp/wr720nv3.bin firmware

 

//rz上传 sz下载
opkg install lrzsz
ln -s /usr/bin/lrz /usr/bin/rz
ln -s /usr/bin/lsz /usr/bin/sz

OpenWrt挂载U盘(NTFS)并在网上邻居共享访问

工具/原料

  • 刷好OpenWrt(带LuCI界面)的路由器一台 当然必须带USB接口
  • 软件:putty 用于命令行操作路由器
  • 软件:WinSCP 用于修改路由器配置文件

方法/步骤

  1. 用putty连接路由器,用putty下载安装所需的软件包:(直接复制下面内容到提示符)

    opkg update

    opkg install kmod-usb-core

    opkg install kmod-usb2                #安装usb2.0

    opkg install kmod-usb-ohci            #安装usb ohci控制器驱动

    opkg install kmod-usb-storage         #安装usb存储设备驱动

    opkg install kmod-fs-ext3             #安装ext3分区格式支持组件

    kmod-fs-ext4、kmod-fs-vfat、kmod-fs-ntfs

     

    opkg install kmod-fs-vfat             #挂载FAT

    opkg install ntfs-3g                  #挂载NTFS

    opkg install mount-utils              #挂载卸载工具

    opkg install block-mount

    opkg install luci-app-samba           #SAMBA网络共享服务

    /etc/init.d/samba enable              #启用并开始SAMBA共享

    /etc/init.d/samba restart

    注意 在线安装软件包需保证路由器Wan口可以连接Internet

    OpenWrt挂载U盘(NTFS)并在网上邻居共享访问
  2. 重启路由器 登陆路由器设置界面 可以看到多了挂载点网络共享两个选项(也可全部做完再重启)

    OpenWrt挂载U盘(NTFS)并在网上邻居共享访问
    OpenWrt挂载U盘(NTFS)并在网上邻居共享访问
  3. 用WinSCP连接路由器,打开/etc/hotplug.d/block/10-mount文件(如果不存在请新建)

    修改为如下内容

    #!/bin/sh

     

    # Copyright (C) 2009 OpenWrt.org  (C) 2010 OpenWrt.org.cn

     

    blkdev=`dirname $DEVPATH`

    if [ `basename $blkdev` != “block” ]; then

     

    device=`basename $DEVPATH`

    case “$ACTION” in

    add)

    mkdir -p /mnt/$device

    # vfat & ntfs-3g check

    if  [ `which fdisk` ]; then

    isntfs=`fdisk -l | grep $device | grep NTFS`

    isvfat=`fdisk -l | grep $device | grep FAT`

    isfuse=`lsmod | grep fuse`

    isntfs3g=`which ntfs-3g`

    else

    isntfs=””

    isvfat=””

    fi

     

    # mount with ntfs-3g if possible, else with default mount

    if [ “$isntfs” -a “$isfuse” -a “$isntfs3g” ]; then

    ntfs-3g -o nls=utf8 /dev/$device /mnt/$device

    elif [ “$isvfat” ]; then

    mount -t vfat -o iocharset=utf8,rw,sync,umask=0000,dmask=0000,fmask=0000 /dev/$device /mnt/$device

    else

    mount /dev/$device /mnt/$device

    fi

    if [ -f /dev/${device}/swapfile ]; then

    mkswap /dev/${device}/swapfile

    swapon /dev/${device}/swapfile

    fi

    ;;

    remove)

    if [ -f /dev/${device}/swapfile ]; then

    swapoff /dev/${device}/swapfile

    fi

    umount /dev/$device

    ;;

    esac

     

    fi

    这段脚本可实现自动挂载,如不想编辑脚本,也可在挂载点中自己设置(PS.没试过)

    OpenWrt挂载U盘(NTFS)并在网上邻居共享访问
  4. 插入U盘或移动硬盘 再次重启路由器 在挂载点中就可以看到已经挂载的设备

    如果U盘只有一个分区,就是/mnt/sda1,第二个分区是/mnt/sda2

    如果用Hub接入多个U盘,第二个设备就是/mnt/sdb,以此类推

    OpenWrt挂载U盘(NTFS)并在网上邻居共享访问
  5. 进入网络共享中,添加共享目录例如/mnt/sda1,权限为777(即完全访问)。

    至此就可以在网上邻居中看到路由器的这个共享文件夹了。

    OpenWrt挂载U盘(NTFS)并在网上邻居共享访问
  6. 注意XP系统 必须保证

    Computer Browser

    Server

    Application Layer Gatway Service

    Windows Firewall/Internet Connection Sharing

    这几个服务开启 并且在本地连接属性中

    Microsoft 网络的文件和打印机共享

    启用时 网上邻居文件才可以访问

    OpenWrt挂载U盘(NTFS)并在网上邻居共享访问

OpenWrt一些小问题的解决方法