一直都没有用过linux的桌面系统,今天下载了一个fedora 17的Desktop安装版,在图形界面上配置了samba后,通过XP访问怎么也访问不了,通过命令行查看smb.conf配置也正确,折腾了一下午,终于解决了,安装过程中需要注意下面的几个问题
1.samba安装配置成功后,还需要开启防火墙里面的samba服务,这样XP系统才能访问到fedora里面的共享目录
2.开启防火墙之后,能够访问共享目录,但是只能看到共享目录的文件夹,该问题是由于fedora系统里面运行了SELINUX模块,samba无法访问新指定的共享目录
需要执行下面几条命令(smb.conf文件里面有)
setsebool -P samba_domain_controller on
setsebool -P samba_enable_home_dirs on
setsebool -P samba_export_all_ro on
setsebool -P samba_export_all_wo on
如果还是不行直接关闭SELINUX
SeLinux,但是在安装完系统之后又如何开启与关闭呢?
在/etc/sysconf下有一个SeLinux文件,使用vi打开,更改其中的SELINUX项的值就可以了。
SELINUX=disable 禁用SeLinux
SELINUX=enforcing 使用SeLinux
在安装好VMware Tools后,无法对 /mnt/hgfs 目录下文件夹进行写操作,那么极有可能便是系统安全设置限定了对此目录的写操作,可以通过修改seLinux来解决此问题。
Red Hat Linux 与 Fedora Linux默认都是启用SeLinux的,在安装操作系统的时候我们可以选择开启或者关闭SeLinux,但是在安装完系统之后又如何开启与关闭呢?
在/etc/sysconf下有一个SeLinux文件,使用vi打开,更改其中的SELINUX项的值就可以了。
SELINUX=disable 禁用SeLinux
SELINUX=enforcing 使用SeLinux
为什么要先讲如何关闭呢?因为搜索了一下,这个看来是问的最多的问题。的确如果你确实不需要或者还没有掌握SELinux的话,它会给你服务器的日常工作带来麻烦。所以下面我就来讲讲几种关闭SELinux的方法
3.1 无须重起而暂时关闭SELinux
以root用户运行以下命令
# setenforce 0
这条命令的作用是把SELinux暂时设定成Permissive模式(关于Permissive Mode在以下会有介绍)
如果要恢复运行SELinux则可以运行
# setenforce 1
这条命令会把SELinux设定成Enforcing模式
3.2 把SELinux永久设定为Permissive模式
这里需要讲一下Permissive和Enforcing模式的区别。 SELinux有三种模式:Enforcing, Permissive and Disable.
Enforcing模式就是应用SELinux所设定的Policy, 所有违反Policy的规则(Rules)都会被SELinux拒绝
Permissive和Enforcing的区别就在于它还是会遵循SELinux的Policy,但是对于违反规则的操作只会予以记录而并不会拒绝操作
Disable 顾名思义就是完全禁用SELinux
如果要永久设定为Permissive模式,我们就要修改SELinux的配置文件 /etc/sysconfig/selinux (在RHEL5下这是一个symbolic link to /etc/selinux/conf)
# 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=permissive,然后重新启动就可以了
设置访问用户、目录
vim /etc/samba/smb.conf
; [wjm]
; comment = samba[解释]
; path = /home/wjm
; valid users = wjm
; public = yes
; writable = yes
; printable = no
useradd wjm
passwd wjm
smbpasswd -a wjm //创建用户wjm
systemctl enable smb.service nmb.service
systemctl restart smb.service nmb.service
redhat开机启动
chkconfig smb on
重启
sudo /etc/init.d/smb restart
sudo service smbd restart
如果配置正确,但是登陆的时候还是提示用户名密码错误的话
1.修改注册表regedit,删除LMCompatibilityLevel
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Lsa\LmCompatibilityLevel
2.运行secpol.msc命令,打开本地安全策略,确认身份验证级别设置成了未定义