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下访问的时候问题就出现了,能够连接到服务器,但是输入密码的时候却给出密码出错,但确认密码没有错误。

 1、这种情况看来是windows7的问题,解决的办法是:单击”开始“-“运行”,输入secpol.msc,打开“本地安全策略”,在本地安全策略窗口中依次打开“本地策略”-->“安全选项”,然后再右侧的列表中找到“网络安全:LAN管理器身份验证级别”,把这个选项的值改为“发送 LM 和 NTLM – 如果已协商,则使用 NTLMv2会话安全”,最后确定。

    2、修改 /etc/samba/smb.conf,在Global项下增加 ntlm auth = yes 参数

          systemctl restart smb

          systemctl restart nmb

03-24 17:12