https://blog.csdn.net/weixin_52270081/article/details/126379020
https://blog.51cto.com/chenguang/1606746
http://www.adintr.com/article/blog/327
https://www.cnblogs.com/Maker-Liu/p/16591621.html
Samba 配置只能上传下载不能删除修改的方法
让上传的文件不能修改, 只需要让上传的文件的权限里不包含写权限即可.
要让文件不能删除, 则涉及到文件父目录的写权限问题, 但是不能直接关闭父目录的写权限, 因为这样就不能在该目录下上传文件了.
解决方法是在父目录上设置 t 标志位, 这用用户就不能删除这个目录下不属于自己的文件, 所以还需要设置文件的所有者不能是上传的用户, 将其设置为 root 即可.
综上,
1
首先对共享的根目录设置 1777 权限, 所有者为 root, 然后配置文件 /etc/samba/smb.conf 里面的设置:
2
1 2 3 4 5 |
|
3
稍作修改, 去掉 inherit owner = yes 即可让用户可以删除自己上传的文件, 不能删除其他用户创建的文件
如何做到将每个客户端的连接信息存放在单独的文件呢?在smb.conf文件中:
1 2 3 |
|
通过log level参数来调整日志记录级别,级别越高,记录越详细。Samba使用LOG_DAEMON将日志级别分为10级,下表1列出常用的4级。
1 2 3 4 5 |
|
配置内核参数
1 2 3 4 5 6 7 8 9 10 11 |
|
一,samba的基本概念
在早期的网络世界中,文件数据在不同主机之间的传输大多是使用 ftp,但是使用ftp服务传输档案使得我们无法直接修改主机上面的档案数据。NFS服务可以实现在客户端的机器上直接使用服务器上面的文件,但是NFS主要在unix系列操作系统上使用。windows上面也有类似的文件系统,那就是cifs(Common Internet File system,通用internet文件系统),cifs的最简单的用途就是“网上邻居”,但是cifs只能让windows机器沟通。
所以,为了实现windows和unix系列系统之间能够相互沟通,就产生了samba服务。
SMB(Server Messages Block,信息服务块)是一种在局域网上共享文件和打印机的一种通信协议,它为局域网内的不同计算机之间提供文件及打印机等资源的共享服务。
Samba服务:是提供基于Linux和Windows的共享文件服务,服务端和客户端都可以是Linux或Windows操作系统。可以基于特定的用户访问,功能比NFS更强大。
二,samba的安装
1 2 3 |
|
三,samba的基本配置
首先最简单的配置,找到一个文件夹作为共享文件,如:/ubuntu/home/share
1:更改share文件权限,授予所有权限
1
|
|
2:更改配置文件 /etc/samba/smb.conf 最后添加以下内容
1 2 3 4 5 6 7 8 9 10 11 |
|
保存退出,重启samba服务
1
|
|
四,samba的账号权限配置
创建账号及密码
1
|
|
由于Samba用户要以系统用户为基础,因而需要先创建出系统用户之后,再将其添加为Samba用户。
1
|
|
由于不需要这些账号登录服务器权限,所以设置参数 /sbin/nologin。
可以通过执行 pdbedit -L命令列表显示目前系统中已经存在的所有Samba用户。
1
|
|
一台电脑登录多个账号,会报错,
不允许一个用户使用一个以上用户名与一个服务器或共享资源的多重连接。中断与此服务器或共享资源的所有连接,然后再试一次
如果需要其他账号登录,断开原账号解决方法:
可使用以下命令断掉已有连接(开始 -> cmd) 不要超级管理员
1
|
|
五,samba目录设置对指定用户可见
有些情况设定,需要自己账号登录,只可见自己授权的目录,其他目录不可见。
例如:这里 /samba/PM 目录,只对登录pm账号用户可见。
1:global注释掉map to guest = bad user
打开编辑配置文件
在 [global] 下找到 map to guest = bad user,这个参数配置,是实现匿名无须交互输入用户名和密码的,登录IP访问时不需要输入用户名和密码了。