0%

Samba Memo

Linux 系统上 samba 服务的安装和使用方法

服务端器安装和配置

  • 安装 samba
1
sudo apt-get install samba
  • 设置用户密码, 该用户必须是系统中已经存在的用户, 该密码和登录系统的密码是相互独立的
1
sudo smbpasswd -a <user_name>
  • 配置 samba 服务 /etc/samba/smb.conf
1
sudo emacs -nw /etc/samba/smb.conf

/etc/samba/smb.conf 配置示例:

1
2
3
4
[gaoyushu]
path = /
valid users = gaoyushu
read only = no
  • 重启 samba 服务
1
sudo service smbd restart

在docker中需要使用下面的命令启动:

1
sudo smbd -D -p 8008
  • 测试安装
1
testparm

/etc/samba/smb.conf 配置示例:

1
2
3
4
[<folder_name>]
path = /home/<user_name>/<folder_name>
valid users = <user_name>
read only = no

用户端安装和配置

为了方便在命令行使用, 使用 CIFS, 其它不考虑.

  • 赋予用户 samba 的权限. 有两种方法, 一种方法是直接直接赋予当前用户 samba 的权限, 另外一种方法是, 也是比ijao规范的做法是建立一个 samba group, 然后, 把用户加入到该group.
1
2
sudo groupadd samba
sudo adduser gys samba
  • 通过 visudo 配置权限

group 部分, 加入一下内容

1
2
3
# Members of the admin group may gain root privileges
%admin ALL=(ALL) ALL
%samba ALL=(ALL) /bin/mount,/bin/umount,/sbin/mount.cifs,/sbin/umount.cifs
  • 安装文件系统
1
sudo apt install cifs-utils
  • 执行挂在操作
1
2
3
mkdir ~/mnt
# uid 是当前用户, gid 是当前用户组. 这两个选项必须加, 不然是以 root 用户挂在的, 普通用户无法操作挂在后的磁盘
sudo mount -t cifs -o username=gys,uid=gys,gid=gys //myserver_ip_address/myshare ~/mnt
  • 卸载操作
1
sudo umount ~/mnt