Samba使用过程中的问题集
2012-12-10 16:22:04 阿炯

[共享目录使用软件链接]-[Samba and Symbolic Links]
为机器添加了一块硬盘,将整个硬盘格式化好挂载到一个目录(/mnt/myshare),需要在原共享目录新加一个共享目录(/home/hto/myshare),myshare是一个链接到'/mnt/myshare'的软链接。但windows访问samba服务器时却不能看到这个目录。需要通过修改配置文件来实现:
[global] section

follow symlinks = yes
wide links = yes
unix extensions = no

See "man smb.conf".

follow symlinks (S)
This parameter allows the Samba administrator to stop smbd(8) from following symbolic links in a particular share. Setting this parameter to no prevents any file or directory that is a symbolic link from being followed (the user will get an error). This option is very useful to stop users from adding a symbolic link to /etc/passwd in their home directory for instance. However it will slow filename lookups down slightly.

This option is enabled (i.e. smbd will follow symbolic links) by default.

[linux挂载windows共享权限设置]
在linux下挂载windows共享后,普通用户如何写windows下的共享,首先想到的是将挂载点的目录给于写权限(sudo chgrp -R users <mount_point> sudo setfacl -d -m g::rwx <mount_point>),但这实际上并不可行(通过sudo方式也不能解决问题),目前的解决办法是通过在挂载时通过指定文件或目录的权限即可实现。
mount -t cifs -o username=hto,password=hpassword,rw,user,exec,file_mode=0777,dir_mode=0777 //172.16.0.2/hto/ /home/hto/data/mnt/
可写在'fstab'文件里来实现开机自动挂载,如下例:
//192.168.1.33/Public /mnt/nasPublic cifs       username=username,password=password,rw,nounix,iocharset=utf8,file_mode=0777,dir_mode=0777 0 0

[smb mount: unknown filesystem type 'smbfs']

查资料后发现smbfs改为cifs了,所以要用下面的方法:
# mount -t cifs -o username="administrator",password="" //192.168.1.101/cp /mnt/ntfs

mount: unknown filesystem type "smbfs"
mount: unknown filesystem type "smbfs’

发现mount不了windows的共享盘
mount -t smbfs -o username=xxx,password=xxx //hostname/dir /mnt/tmp

mount: unknown filesystem type ’smbfs’

系统已经不能识别smbfs文件系统了

查资料说RHE5的kernel已经不再支持smbfs,而改用Common Internet File Systemcifs(cifs)取代了原有的smbfs,所以命令就改为:
# mount -t cifs -o username=xxx,password=xxx //hostname/dir /mnt/tmp

很顺利地mount上了,在debian下依然是'smbfs'。

今天用smbclient访问一windows服务器,出错提示如下:
Connection to 192.168.1.1 failed (Error NT_STATUS_UNSUCCESSFUL)

telnet发现访问服务器445端口是不通的,换另一网段却可以访问445端口,用smbclient也就能登录了,看来是那台windows服务器设置了防火墙。

debian 7 下挂载另外一台机器的上samba资源出现问题及相关解决办法

利用smbclient进行资源及用户认证测试通过,但想挂载时却出现了问题:
root@master:~# mount -t smbfs -o username="freeoa",password="mypasswd",rw,file_mode=0750,dir_mode=0750 //192.168.1.10/freeoa/ /mnt
mount: unknown filesystem type 'smbfs'

root@master:~# mount -t cifs -o username="freeoa",password="mypasswd",rw,file_mode=0750,dir_mode=0750 //192.168.1.10/freeoa/ /mnt
mount: //192.168.1.10/freeoa/ is not a valid block device

# apt-get install smbnetfs

但在挂载时,依然会报上面的错误,看来没有安对软件。
# apt-get install cifs-utils
下列【新】软件包将被安装:
  cifs-utils keyutils libnss-winbind libpam-winbind winbind

挂载成功。

在fstab文件中写法如下:
//192.168.1.10/share /mnt/mount_share  cifs  credentials=/root/.smbcredentials,iocharset=utf8  0  0

/root/.smbcredentials :
username=myworkgroup/the_user
password=user_password

debian samba去掉默认打印机共享

samba默认配置即使没有使用打印机共享,客户端也会看到"打印机和传真"图标,很简单的就可以去掉它,在/etc/smaba/smd.conf的[global]加入如下语句即可:
disable spoolss = yes

这样客户端就不会看到打印机共享了。

SAMBA Error: Can't become connected user!

在samba服务器日志中有大量如上的报错,使用登录名和密码都没有问题,但就是不能登录。

出现这种报错,就要开启[home]这一段。


该文章最后由 阿炯 于 2015-10-04 19:54:50 更新,目前是第 2 版。