#rpm -qa | grep samba
#yum -y install samba-client samba-common cifs-utils samba
#systemctl enable smb.service
#vim /etc/samba/smb.conf
[global]
workgroup = SAMBA //文档中存在多个security变量,只需其中一个有效即可。
security = user //配置文件中所有等号前后加一个空格
netbios name = linux
passdb backend = tdbsam
log file = /var/log/samba/smbd.log //指定日志文件路径
log level = 2 //一共有10个级别,2是LOG_NOTICE,3是LOG_INFO
max log size = 50 //日志文件最大大小,单位KB
printing = cups
printcap name = cups
load printers = yes
cups options = raw
[tmp]
path = /tmp
read only = No
public = Yes
read list = @share
write list = @share
create mask = 0664
directory mask = 0770
path = /home/share
#systemctl restart smb.service
#useradd mary
#passwd mary
#useradd john
#passwd john
#useradd guest
#passwd guest
#groupadd share
#usermod -G share mary
#usermod -G share john
#smbpasswd -a mary
#smbpasswd -a john
#smbpasswd -a guest
#mkdir -p /home/share
#chown :share /home/share
#chmod 770 /home/share
systemctl restart smb.service(或者systemctl restart smb)
先测试SElinux的设置,如果处于Enforcing状态,修改为permissive或者disabled。具体如下:
#getenforce
如果输出“Enforcing”,则输入下面的命令
#setenforce 0
以上命令只能在当前操作有效,如果希望永久改变,可以修改配置文件:/etc/selinux/config,找到SELINUX变量后根据上下文提示修改成对应的值(permissive或者disabled)即可。
如果想查看当前selinux的状态,可以命令sestatus
先查看防火墙的运行状态
#systemctl is-active firewalld.service
输出active(活跃),inactive(不活跃)若处于active状态,则禁用。
#systemctl stop firewalld.service
以上6.1,6.2两个命令重启后无效,需要重新设置。
# smbclient -L //172.16.51.1 -U mary
#smbclient -c ls //172.16.51.1/share -U mary
(下图在/home/share下创建文件1234,然后通过mary用户访问share目录)
右击“我的电脑”,左键单击映射网络驱动器,在文件夹方框内按如下格式填写\172.16.51.1\share(172.16.51.1是Linux服务器的地址)
如果下次需要映射其它用户的文件,可以先断开原来的映射,然后通过修改“其它用户名”进行变更。
也可以直接在我的电脑的地址栏上输入路径:\172.16.51.1\share(大家可以尝试,但不推荐)
查看日志文件/var/log/samba/smbd.log,表示成功访问记录。
]# vim /var/log/samba/smbd.log
#mkdir -p /mnt/smb/win
# mount.cifs -o user=mary //172.16.51.1/share /mnt/smb/win/
#cd /mnt/smb/win/
#ls
#mount | grep cifs
#cd /
#umount /mnt/smb/win //如果处于/mnt/smb/win目录下,是不能卸载的