zoukankan      html  css  js  c++  java
  • Samba简单配置--匿名用户共享资料可读可写的实现

    http://e-mailwu.blog.163.com/blog/static/65104036200931893921923/ http://www.cnblogs.com/god_like_donkey/archive/2009/07/12/1521930.html 第一步: 更改smb.conf 我们来实现一个最简单的功能,让所有用户可以读写一个Samba 服务器共享的一个文件夹;我们要改动一下smb.conf ; 首先您要备份一下smb.conf文件; [root@localhost ~]# cd /etc/samba [root@localhost samba]# mv smb.conf smb.confBAK 然后我们来重新创建一个smb.conf文件; [root@localhost samba]#touch smb.conf 然后我们把下面这段写入smb.conf中; [global] workgroup = LinuxSir netbios name = LinuxSir05 server string = Linux Samba Server TestServer security = share [linuxsir] path = /opt/linuxsir writable = yes browseable = yes guest ok = yes 注解: [global]这段是全局配置,是必段写的。其中有如下的几行; workgroup 就是Windows中显示的工作组;在这里我设置的是LINUXSIR (用大写); netbios name 就是在Windows中显示出来的计算机名; server string 就是Samba服务器说明,可以自己来定义;这个不是什么重要的; security 这是验证和登录方式,这里我们用了share ;验证方式有好多种,这是其中一种;另外一种常用的是user的验证方式; 如果用share呢,就是不用设置用户和密码了; [linuxsir] 这个在Windows中显示出来是共享的目录; path = 可以设置要共享的目录放在哪里; writable 是否可写,这里我设置为可写;(设置目录其他用户对这个目录有“写”的权限) browseable 是否可以浏览,可以;可以浏览意味着,我们在工作组下能看到共享文件夹。如果您不想显示出来, 那就设置为 browseable=no guest ok 匿名用户以guest身份是登录; 第二步:建立相应目录并授权(可以略掉); [root@localhost ~]# mkdir -p /opt/linuxsir [root@localhost ~]# id nobody uid=99(nobody) gid=99(nobody) groups=99(nobody) [root@localhost ~]# chown -R nobody:nobody /opt/linuxsir 注释:关于授权nobody,我们先用id命令查看了nobody用户的信息,发现他的用户组也是nobody,我们要以这个为准。有些系统nobody用户组并非是nobody ; 第三步:启动smbd和nmbd服务器; [root@localhost ~]# smbd [root@localhost ~]# nmbd 第四步:查看smbd进程,确认Samba 服务器是否运行起来了; [root@localhost ~]# pgrep smbd 13564 13568 第五步:访问Samba 服务器的共享; 在Linux 中您可以用下面的命令来访问; [root@localhost ~]# smbclient -L //LinuxSir05 Password: 注:直接按回车 在Windows中,您可以用下面的办法来访问; 在运行里输入: \计算机名地(IP)       前段时间在实验室的4*4核服务器上安装Samba服务器,解决了服务器安装的硬件问题后,在服务器上配好了Samba,但在客户机访问Samba时,显示错误。查看到主机机器上右上方有红色感叹号显示,点击一看,是SELinux报警,报警时间与每次客户机访问samba时间一致,估计是SELinux太严谨的问题,将客户机的错误信息在网上搜索,查找到果然是samba与SELinux冲突的问题。 PS:曹老师开始用挂载的方法配NSF时也没配成功,同样是SELinux的问题,关闭后可解决。 方法一:关闭SELinux,并修改配置文件,使系统启动时不启动SELinux。(我采用的是这种方法) Disable selinux   [root@Jie ~]#  vi /etc/sysconfig/selinux # This file controls the state of SELinux on the system. # SELINUX= can take one of these three values: #       enforcing - SELinux security policy is enforced. #       permissive - SELinux prints warnings instead of enforcing. #       disabled - SELinux is fully disabled. SELINUX=enforcing # SELINUXTYPE= type of policy in use. Possible values are: #       targeted - Only targeted network daemons are protected. #       strict - Full SELinux protection. SELINUXTYPE=targeted 把 SELINUX设定为disable, 下次启动系统后将会停止SElinux。 Linux核心参数(Kernel Parameter) 或者可以在核心参数后加上: selinux=0 (停止) 或 selinux=1 (开启)参数 档案/boot/grub/menu.lst title Fedora Core (2.6.18-1.2798.fc6) root (hd0,0) kernel /vmlinuz-2.6.18-1.2798.fc6 ro root=LABEL=/ rhgb quiet  selinux=0 initrd /initrd-2.6.18-1.2798.fc6.img 检查SELinux现时况态 要知到你现在是否使用 SELinux: # getenforce disabled   方法二:不关闭SELinux配置 samba的方法(未测试) 将smb.conf中如下这两行启用(去掉行首的;号就可以了) setsebool -P samba_domain_controller on setsebool -P samba_enable_home_dirs on这两行生效后,自己的home目录就可以正常读写了。 如果想将/home/samba/temp目录设置成完全的共享就应该在字符状态写输入:chcon -t samba_share_t /home/samba/temp 同时不要忘记将/home/samba/temp目录属性设置成777 就可以了。其它和以前的FC版本应该没有什么区别了。 默认的,SELinux禁止网络上对Samba服务器上的共享目录进行写操作,即使你在smb.conf中允许了这项操作。 假设你已经配置了共享目录/share并允许用户进行读写,而你又不想关闭SELinux的话,可以试试以下操作: 程序代码: #/usr/sbin/setsebool -P allow_smbd_anon_write=1 #chcon -t public_content_rw_t /share 其中第一条语句设置SELinux放行标记了public_content_rw_t的内容,第二条语句把欲共享的/share目录标记为public_content_rw_t。 附SELinux资料:   selinux简介 SElinux 在linux内核级别上提供了一个灵活的强制访问控制系统(MAC),这个强制访问控制系统是建立在自由访问控制系统(DAC)之上的。 DAC是指系统的安全访问控制都是由系统管理员root自由管理的,不是系统强制行为 MAC运行的时候,比如一个应用程序或者一个线程以某个用户UID或者SUID运行的时候同样对一些其他的对象拥有访问控制限制,比如文件,套接子(sockets)或者其他的线程 通过运行SElinux MAC内核可以保护系统不受到恶意程序的侵犯,或者系统本身的bug不会给系统带来致命影响(把影响限定在一定范围内) SElinux为每一个用户,程序,进程,还有文件定义了访问还有传输的权限。然后管理所有这些对象之间的交互关系 对于SELinux设定的对象全限是可以根据需要在安装时候规定严格程度,或者完全禁用 在大多数情况下,SElinux对于用户来说是完全透明的,普通用户根本感觉不到 Selinux的存在,只有系统管理员才需要对这些用户环境,以及策略进行考虑。这些策略可以按照需要宽松的部署或者应用严格的限制,Selinux提供 了非常具体的控制策略,范围覆盖整个linux系统 比如,当一个对象如应用程序要访问一个文件对象,内核中的控制程序检查访问向量缓存 (AVC),从这里寻找目标和对象的权限,如果在这里没有发现权限定义,则继续查询安全定义的上下关联,以及文件权限,然后作出准许访问以及拒绝访问的决 定。如果在var/log/messages出现avc: denied信息,则表明访问拒绝。 目标和对象通过安装的策略来决定自身的安全关联,同时这些安装的策略也负责给系统产生安全列表提供信息。 除了运行强制模式以外,SELinux可以运行在许可模式,这时候,检查AVC之后,拒绝的情况被记录。Selinux不强制使用这种策略. 以下介绍一下SELinux相关的工具 /usr/bin/setenforce 修改SELinux的实时运行模式 setenforce 1 设置SELinux 成为enforcing模式 setenforce 0 设置SELinux 成为permissive模式 如果要彻底禁用SELinux 需要在/etc/sysconfig/selinux中设置参数selinux=0 ,或者在/etc/grub.conf中添加这个参数 /usr/bin/setstatus -v
  • 相关阅读:
    CQUOJ 10819 MUH and House of Cards
    CQUOJ 9920 Ladder
    CQUOJ 9906 Little Girl and Maximum XOR
    CQUOJ 10672 Kolya and Tandem Repeat
    CQUOJ 9711 Primes on Interval
    指针试水
    Another test
    Test
    二分图匹配的重要概念以及匈牙利算法
    二分图最大匹配
  • 原文地址:https://www.cnblogs.com/adodo1/p/4327562.html
Copyright © 2011-2022 走看看