Samba 安装、配置——可读 可写禁止删除
vi /etc/sysconfig/network
xxxx.server
vi /etc/hosts
127.0.0.1 xxx.server
yum install samba
setenforce 0
systemctl start smb
systemctl start nmb
systemctl enable smb
systemctl enable nmb
iptables -I INPUT -p tcp --dport 445 -j ACCEPT
iptables -I INPUT -p tcp --dport 139 -j ACCEPT
/etc/init.d/iptables save
useradd xxx
userpasswd xxx
mkdir -m 1777 /home/share
pdbedit -a xxx
smbpasswd -a xxx
pdbedit -L
Samba 配置只能上传下载不能删除修改的方法
让上传的文件不能修改, 只须要让上传的文件的权限里不包含写权限便可.
要让文件不能删除, 则涉及到文件父目录的写权限问题, 可是不能直接关闭父目录的写权限, 由于这样就不能在该目录下上传文件了. 解决方法是在父目录上设置 t 标志位, 这用用户就不能删除这个目录下不属于本身的文件, 因此还须要设置文件的全部者不能是上传的用户, 将其设置为 root 便可.
综上, 首先对共享的根目录设置 1777 权限, 全部者为 root, 而后配置文件 /etc/samba/smb.conf 里面的设置:
[共享名]
inherit owner = Yes # 上传的文件继承父目录的全部者, 而不是使用登陆的帐号名, 这样上传的文件的全部者都是 root 了.
writable = Yes # 容许上传操做
create mask = 1774 # 上传的文件没有写权限
directory mask = 1777 # 上传的目录具备全部权限
force directory mode = 1000 # 上传的目录设置 t 标志
稍做修改, 去掉 inherit owner = Yes 便可让用户能够删除本身上传的文件, 不能删除其余用户建立的文件
vi /etc/samba/smb.conf
# See smb.conf.example for a more detailed config file or
# read the smb.conf manpage.
# Run 'testparm' to verify the config is correct after
# you modified it.
[global]
workgroup = WORKGROUP #Workgroup win系统默认工做域
security = user
passdb backend = tdbsam
ntlm auth = yes #加此处
printing = cups
printcap name = cups
load printers = yes
cups options = raw
[homes]
comment = Home Directories
valid users = %S
browseable = NO
read only = No
inherit acls = Yes
[printers]
comment = All Printers
path = /var/tmp
printable = Yes
create mask = 0600
browseable = No
[print$]
comment = Printer Drivers
path = /var/lib/samba/drivers
write list = @printadmin root
force group = @printadmin
create mask = 0664
directory mask = 0775
[share] #共享的目录及配置
comment=this is Linux share directory
path=/home/share
inherit owner = yes
browsable = yes
writable=yes
read only = no
guest ok = no
create mask = 1774
directory mask = 1777
force directory mode = 1000
win7访问centos7 Samba的共享目录输入账号和密码没法登录解决方法:
Windows7没法正常访问NAS或者Samba服务器上的共享文件夹。缘由在于从Vista开始,微软默认只采用NTLMv2协议的认证回应消息了,而目前的NAS系统和Samba还只支持LM或者NTLM。
解决办法:修改本地安全策略
经过Samba服务能够实现UNIX/Linux主机与Windows主机之间的资源互访,因为实验须要,轻车熟路的在linux下配置了samba服务,操做系统是redhat linux 9.0,可是在windows7下访问的时候问题就出现了,可以链接到服务器,可是输入密码的时候却给出密码出错,但确认密码没有错误。
一、这种状况看来是windows7的问题,解决的办法是:单击”开始“-“运行”,输入secpol.msc,打开“本地安全策略”,在本地安全策略窗口中依次打开“本地策略”-->“安全选项”,而后再右侧的列表中找到“网络安全:LAN管理器身份验证级别”,把这个选项的值改成“发送 LM 和 NTLM – 若是已协商,则使用 NTLMv2会话安全”,最后肯定。
二、修改 /etc/samba/smb.conf,在Global项下增长 ntlm auth = yes 参数
systemctl restart smb
systemctl restart nmb
linux