linux笔记-samba

来源:互联网 发布:安全员网络平台 编辑:程序博客网 时间:2024/04/29 00:53
#############
### samba ###
#############

### 一、SAMBA:

通用Internet文件系统(CIFS)也称为服务器信息块(SMB),是适用于Microsoft Windows服务器和客户端的标准文件和打印机共享系统。

Samba服务的组成部分
1. 软件包:
Samba-common     – Samba的支持文件
Samba-client     – 客户端应用程序
Samba             – 服务器应用程序

2. 服务名称:
smb :提供对服务器文件、打印资源的共享访问
nmb :提供基于NetBIOS主机名称的解析

3. 服务端口:
通常使用TCP/445进行所有连接。还使用UDP137、UDP138和TCP/139进行向后兼容

4. 主配置文件:
/etc/samba/smb.conf

全局配置项的含义:
workgroup:所在工作组名称
server string:服务器描述信息
security:安全级别,可用值如下:(默认为user)
    share:可匿名访问    (不赞成,弃用,修改后重启服务失败)
    user:需本服务器验证用户名及密码
    server:由另一台服务器验证用户及密码    (不赞成,弃用)
log file:日志文件位置
max log size:日志文件的最大容量,单位为KB
hosts allow:允许IP访问所有共享目录
hosts deny:禁止IP访问所有共享目录
共享目录配置:
;    [public]                    ##共享名
;    comment = Public Stuff    ##共享目录的注释、说明
;    path = /home/samba        ##共享目录所在服务器的实际位置
;    public = yes                ##是否允许所有Samba用户访问该共享目录
;    writable = yes            ##共享目录是否允许用户写入
;    printable = no            ##
;    write list = +staff        ##指定用户可以写入(多个用户用‘,’隔开)
;    browseable =                 ##是否显示本共享目录
;    valid users =             ##指定具有访问权限的用户
;    admin users =                ##拥有root权限的用户
;    hosts allow =             ##允许IP访问该共享目录
;    hosts deny =                 ##禁止IP访问该共享目录
注:在用户前加‘+|@’表示该组的所有用户

5、samba用户的管理
smbpasswd    -h        ##显示该命令的帮助信息
            -a        ##添加指定的用户帐号
            -d        ##禁用指定的用户帐号
            -e        ##启用指定的用户帐号
            -x        ##删除指定的用户帐号
pdbedit -L        ##用户查看samba用户


### 二、SAMBA操作

1、samba环境设置

yum install samba-client samba-common samba -y
systemctl start smb
systemctl stop firewalld.service
setsebool samba_enable_home_dirs on
smbpasswd -a student
pdbedit -L


测试:
smbclient查看服务器172.25.254.115中共享资源列表
-L:显示服务器端的所有共享资源
-U:指定samba用户

smbclient -L //172.25.254.115 -U student
********
如果不加' -U student',直接回车以匿名方式登录
Enter student's password:
Domain=[WANG] OS=[Windows 6.1] Server=[Samba 4.2.3]

    Sharename       Type      Comment
    ---------       ----      -------
    IPC$            IPC       IPC Service (Samba Server Version 4.2.3)
    student         Disk      Home Directories
......
********

2、samba 共享目录

vim /etc/samba/smb.conf //
********
workgroup = WANG
[wang]    ##共享目录名字
comment = share dir    ##共享目录的说明
path = /wang        ##共享路径
********                   
systemctl restart smb.service

semanage fcontext -a -t samba_share_t '/wang(/.*)?'
restorecon -FvvR /wang/
共享系统建立目录要修改的linux属性,此方式修改该针对所有,一旦开放,selinux不保护目录访问,慎用下面两条设置
samba_export_all_ro     ##所有共享目录只可读
samba_export_all_rw     ##所有共享目录可读写

测试:

smbclient -L //172.25.254.115/wang -U student
*********
Enter student's password:
Domain=[WANG] OS=[Windows 6.1] Server=[Samba 4.2.3]
注:/etc/samba/smb.conf文件中修改 workgroup = WANG
    Sharename       Type      Comment
    ---------       ----      -------
    wang            Disk      share dir
    IPC$            IPC       IPC Service (Samba Server Version 4.2.3)
    student         Disk      Home Directories
**********
smbclient //172.25.254.115/wang -U student


3、samba匿名访问
vim /etc/samba/smb.conf
********
125         map to guest = bad user    ##将没有认证的用户映射成匿名用户
321         [wang]
322         comment = share dir
323         path = /wang
324         guest ok = yes        ##开启匿名用户登录
********

测试:
mount //172.25.254.115/wang /linux -o username=guest




4、samba共享目录的管理参数

vim /etc/samba/smb.conf
*********
321         [wang]
322         comment = share dir
323         path = /wang
324         guest ok = yes
325         writeable = yes        ##允许所有的登录者可写
326          #write list = +staff    ##允许谁可写
327         #browseable = no        ##是否显示本共享目录
328         #valid users = @student    ##只允许student登录
329         #admin users =        ##拥有root权限
注:‘+user’和‘@user’ 都表示这个组
注: writeable = yes,只是服务允许,但是文件系统是755权限,依然不能写入,需要修改文件权限
*********

chmod 777 /wang

测试:

mount //172.25.254.115/wang /linux -o username=student,password=student


5、多用户挂载(在客户端操作)
yum install cifs-utils        ##安装软件
vim /root/passfile        ##编写文件
**********
username=student
password=123
username=tom
password=123
**********
mount //172.25.254.115/wang /mnt -o credentials=/root/passfile,multiuser,sec=ntlmssp    ##挂载
ls /mnt                ##能够查看    
su - tom                ##切换到与samba用户同名的用户
ls /mnt                ##不能查看,没有权限
cifscreds add 172.25.254.115    ##认证
ls /mnt                ##查看成功
su - kiosk             ##切换到其他用户(samba服务中没有该用户)
ls /mnt                ##查看不了,没有权限
cifscreds add 172.25.254.115    ##按照tom同样去认证
ls /mnt                ##依然不行

6、配置自动挂载服务(autofs)

mount是用来挂载文件系统的,可以在系统启动的时候挂载也可以在系统启动后挂载。对于本地固定设备,如硬盘可以使用mount挂载;而光盘、软盘、NFS、SMB等文件系统具有动态性,即需要的时候才有必要挂载。光驱和软盘我们一般知道什么时候需要挂载,但NFS和SMB共享等就不一定知道了,即我们一般不能及时知道NFS共享和SMB什么时候可以挂载。而autofs服务就提供这种功能,好像windows中的光驱自动打开功能,能够及时挂载动态加载的文件系统。免去我们手动载在麻烦。

yum install autofs -y
systemctl start autofs

设定空闲卸载时间
vim /etc/autofs.conf
*******
15 timeout = 3        ##闲置3秒后系统自动卸载网络设备
*******

mkdir /linux
vim /etc/auto.master
*************
添加:
/linux(最终自定义挂载点的上层目录)  /etc/auto.samba(子配置文件)
*************

vim /etc/auto.samba
*********
添加:
samba(最终挂载点) -fstype=cifs,username=student,password=123 ://172.25.254.115/wang(网络共享目录)
*********


测试

[root@localhost ~]# cd /linux
[root@localhost linux]# ls        ##空目录
[root@localhost linux]# cd samba
[root@localhost samba]# ls
22  33  44  66
[root@localhost samba]# df        ##已经挂载
文件系统                 1K-块    已用    可用 已用% 挂载点
/dev/vda1             10473900 3160748 7313152   31% /
devtmpfs                493408       0  493408    0% /dev
tmpfs                   508996     140  508856    1% /dev/shm
tmpfs                   508996   13304  495692    3% /run
tmpfs                   508996       0  508996    0% /sys/fs/cgroup
//172.25.254.115/wang 10473900 3164208 7309692   31% /linux/samba







0 0
原创粉丝点击