第7章 SAMBA服务器
yum install -y samba 安装samba服务
systemctl restart smb
systemctl restart nmb
systemctl enable smb.service
systemctl enable nmb.service
netstat -antupl | grep smb 看看端口
netstat -antupl | grep nmb看看端口
systemctl stop nmb.service nmb用的少可以不用
vim /etc/samba/smb.conf 配置文件
firewall-cmd --permanent --add-service=samba 配一下防火墙
firewall-cmd --reload 重读
mkdir /share1 做三个共享文件夹
mkdir /share2
mkdir /share3
touch /share1/file{1..9} 填充点内容
touch /share2/file{21..29}
touch /share3/file{31..39}
chcon -R -t samba_share_t /share1/ 修改selinux上下文
chcon -R -t samba_share_t /share2/
chcon -R -t samba_share_t /share3/
getsebool -a | grep samba 准备改布尔值
setsebool -P samba_enable_home_dirs on
setsebool -P samba_export_all_rw on
/////////////share匿名访问级别
vim /etc/samba/smb.conf 修改配置文件
添加共享资源,share必须public=yes user必须public=no browseable=yes可见 =no不可见
systemctl restart smb.service 重启服务
去2好机器安装yum install -y samba-client cifs-utils
smbclient -L //192.168.100.1 看一下都共享了啥,密码不用输入
smbclient //192.168.100.1/qinshare 访问一下,最后是共享名,密码不用输入
smb: \> ? 查看有啥命令能用
smb: \> get file1 这是下载file1
smb: \> put qintest 上传文件,但是发现上传失败,因为权限的问题
vim /etc/samba/smb.conf 修改配置文件,增加可以写入权限
systemctl restart smb.service 别忘了重启服务
然后发现还是不能上传,因为匿名用户过来不是root是others,所以权限还是不够
chmod o+w /share1/ 加个权限吧
就可以上传了
smb: \> prompt 批量下载得先给这个权限
smb: \> mget file* 然后批量下载
///////////////////user
useradd user1 -s /sbin/nologin 先搞三个用户,就不用给登陆主机权限了
useradd user2 -s /sbin/nologin
useradd user3 -s /sbin/nologin
smbpasswd -a user1 添加smb用户,设置密码
smbpasswd -a user2
smbpasswd -a user3
vim /etc/samba/smb.conf 修改配置文件
chmod o+w /share2/ 加权限
chmod o+w /share3/ 加权限
systemctl restart smb.service 重启服务
开始在win7上面操作
先ping一下192.168.100.1看一看通不通
然后直接\\192.168.100.1 进入共享
输入账号密码使用user1登陆
net use * /del 退出连接,不然会有缓存直接进入了
然后用user3登陆,发现会有权限限制
//////////////挂载
mkdir /mnt/share1 建立挂载点
mkdir /mnt/share2
mkdir /mnt/share3
mount -t cifs -o username=user1,password=user1 //192.168.100.1/share1 /mnt/share1/ 输入账号密码然后挂载
ll /mnt/share1/ 查看一下有没有挂上
mount -o username=user1 //192.168.100.1/share1 /mnt/share1/ 可以不写密码,挂载的时候输入密码,前面的-t cifs 也可以不写
/////////////////
vim /etc/fstab 去fstab挂载
credentials=/etc/filename 去/etc/filename 看账号密码
vim /etc/filename 编写账户密码文件
mount -a 重新加载一下
ll /mnt/share1/ 查看一下有没有挂上
不编写密码文件可以,直接写在配置里
再偷懒一点可以用百分号替代
vim /var/log/samba/log.192.168.100.2 看到详细日志
//////////// 每个用户单独配置文件
把主配置文件最后的配置都删了,加上下面这行以后就直接读smb.conf.xxx
cp /etc/samba/smb.conf /etc/samba/smb.conf.user3 复制到user3
然后去最后配置
systemctl restart smb.service 重启服务
然后去2号机看一下共享资源发现啥也没有,因为你匿名进来肯定看不到,设置是user的
smbclient -L //192.168.100.1 -U user3 这样子就能看到
smbclient //192.168.100.1/share3 -U user3 登陆进去
smb: \> ls 就能看到文件了
//////////////多用户挂载
去主配置文件,到最初始状态
修改最后添加可写用户user,可登陆user1,user2
systemctl restart smb.service 重启
去2号机器操作
useradd user1 建立同名用户
useradd user2
useradd user3
mount -o multiuser,user=user1,sec=ntlmssp //192.168.100.1/share1 /mnt/share1/ 挂载user1
su - user1 登陆user1
ll /mnt/share1 发现权限不够
cifscreds add 192.168.100.1 获取user1的权限,输入服务器上user1的密码user1
可以看到了
同样的操作一样增加user2,user3
这样子以后只要挂一次以后,别的用户就可以分级操作了
//////////
vim /qin.txt 搞一个用户文件
mount -o multiuser,credentials=/qin.txt,sec=ntlmssp //192.168.100.1/share1 /mnt/share1/ 手动挂载
vim /etc/fstab 修改文件,开机自挂
mount -a 重读就好了