选中内容(绿色)时除了会搜索文章名,还会搜索文章内容
点击结果中的文章名进入文章界面后可以按Ctrl+F在页面内搜索
  • 版权:CC BY-SA 4.0
  • 创建:2020-06-22
  • 更新:2020-06-25
linux 下samba安装和权限管理用户管理


常规安装设置

  • 如果是挂载的磁盘,可能会自动挂载到/media/用户名/磁盘label目录下
  • 安装
    1. sudo apt update
    2. sudo apt install samba samba-comon-bin
  • 新增用户,这里名叫 public
    1. sudo groupadd samba
    2. sudo adduser --gecos "" public --ingroup samba
  • 增加用户到samba,并使能用户
    1. sudo smbpasswd -a public
    2. sudo smbpasswd -e public
  • 设置/etc/samba/smb.conf

    1. sudo vim /etc/samba/smb.conf

    设置共享目录

    1. [data]
    2. comment = private data Storage
    3. path = /home/pi/storage/data
    4. valid users = pi, public
    5. browseable = yes
    6. writable = yes
    7. guest ok = no
    8. printable = no
    9. create mask = 0760
    10. directory mask = 0750

    这里设置只允许 pi public 两个用户有读写权限,并且新建的文件夹不允许除了自己和组之外的其它用户访问(查看和修改),并且同组的其它用户修改文件夹比如删除会收到警告,给执行权限是因为用户才能访问文件夹;新建的文件不允许除了自己和组内之外的用户查看和修改,同组用户有读写权限

  • 重启samba服务

    1. sudo /etc/init.d/smbd restart
    2. # sudo /etc/init.d/nmbd restart
  • 然后尝试使用这两个账户去访问共享目录

新增用户权限问题

可能会出现只有pi用户(系统创建时创建的账户)能访问,新建的 public 账户无法访问的问题,提示无权限

解决:

  • 首先一定要确保public用户是系统用户
  • 修改挂载点,不使用默认的 /media/ 目录,可以挂载到其它目录,比如挂在到用户目录,我这里挂载到了 /home/pi/storage 目录下
  1. cd /home/pi
  2. mkdir storage
  3. sudo vim /etc/fstab

如果是硬盘,添加一行

  1. /dev/sdc1 /home/pi/storage ext4 dufalts,noatime 0 0

/dev/sdc1就是磁盘设备,通过sudo lsblk看到

如果是USB设备:

  1. UUID=3a77d775-2162-4f35-b0a3-92c8c4359ea1 /home/pi/storage ext4 nosuid,nodev,nofail,noatime 0 0

这里的 UUID就是要挂载的磁盘的UUID, 可以通过sudo lsblk看到
如果是USB设备一定要填UUID,以及nofail参数,否则可能开机挂载不了导致无法开机
最后一个0代表不进行fsck,否则填2

  • 生效挂载点

    1. sudo mount -a
  • 修改权限

    1. chmod 755 /home/pi/storage
    2. chown -R pi:samba /home/pi/storage
    3. chcon -t samba_share_t /home/pi/storage
  • 重启samba服务

    1. sudo /etc/init.d/smbd restart
    2. # sudo /etc/init.d/nmbd restart
  • 分别用两个用户登录目录,都可以操作

新建的文件和文件夹都将属于 samba 组,谁创建的就属于谁,创建的文件和文件夹的权限如上面设置里面设置的描述

对于权限控制,注意,以上的思想就是:
创建了一个组,叫 samba, pi和public用户都属于这个组,具体哪个文件或文件夹谁可以写通过设置文件或文件夹的属性来控制,比如一个文件夹 data, 属性是drwxr-x--- pi samba,即0750,则 pi用户具有绝对的读写权利,public用户则有读取权利,不能写,其它用户没法读取和写入

多网卡速度问题

多网卡时,可能默认走了慢速的那一张网卡,可以手动选择网卡

  1. sudo vim /etc/samba/smb.conf

设置

  1. #### Networking ####
  2. # The specific set of interfaces / networks to bind to
  3. # This can be either the interface name or an IP address/netmask;
  4. # interface names are normally preferred
  5. ; interfaces = 127.0.0.0/8 eth0
  6. interfaces = 192.168.31.25/24 eth0
  7. # Only bind to the named interfaces and/or networks; you must use the
  8. # 'interfaces' option above to use this.
  9. # It is recommended that you enable this feature if your Samba machine is
  10. # not protected by a firewall or is a firewall itself. However, this
  11. # option cannot handle dynamic or non-broadcast interfaces correctly.
  12. bind interfaces only = yes

如上述设置,就只能通过 eth0 访问了,而不是WiFi

参考

文章有误?有想法想讨论?查看或者发起勘误/讨论 主题
(发起评论需要先登录 github)

/wallpaper/wallhaven-j5lk95.jpg