zoukankan      html  css  js  c++  java
  • 12 使用Samba或NFS实现文件共享

    第12章 使用Samba或NFS实现文件共享

    12.1 SAMBA文件共享服务
    [root@linuxprobe ~ ]# yum install samba
    
    [root@linuxprobe ~]# cat /etc/samba/smb.conf 
    
    [root@linuxprobe ~]# mv /etc/samba/smb.conf /etc/samba/smb.conf.bak
    [root@linuxprobe ~]# cat /etc/samba/smb.conf.bak | grep -v "#" | grep -v ";" | grep -v "^$" > /etc/samba/smb.conf
    [root@linuxprobe ~]# cat /etc/samba/smb.conf
    

    表12-1 Samba服务程序中的参数以及作用

    [global] #全局参数。
    workgroup = MYGROUP #工作组名称
    server string = Samba Server Version %v #服务器介绍信息,参数%v为显示SMB版本号
    log file = /var/log/samba/log.%m #定义日志文件的存放位置与名称,参数%m为来访的主机名
    max log size = 50 #定义日志文件的最大容量为50KB
    security = user #安全验证的方式,总共有4种
    #share:来访主机无需验证口令;比较方便,但安全性很差
    #user:需验证来访主机提供的口令后才可以访问;提升了安全性
    #server:使用独立的远程主机验证来访主机提供的口令(集中管理账户)
    #domain:使用域控制器进行身份验证
    passdb backend = tdbsam #定义用户后台的类型,共有3种
    #smbpasswd:使用smbpasswd命令为系统用户设置Samba服务程序的密码
    #tdbsam:创建数据库文件并使用pdbedit命令建立Samba服务程序的用户
    #ldapsam:基于LDAP服务进行账户验证
    load printers = yes #设置在Samba服务启动时是否共享打印机设备
    cups options = raw #打印机的选项
    [homes] #共享参数
    comment = Home Directories #描述信息
    browseable = no #指定共享信息是否在“网上邻居”中可见
    writable = yes #定义是否可以执行写入操作,与“read only”相反
    [printers] #打印机共享参数
    comment = All Printers
    path = /var/spool/samba #共享文件的实际路径(重要)。
    browseable = no
    guest ok = no #是否所有人可见,等同于"public"参数。
    writable = no
    printable = yes
    [root@linuxprobe ~]# mv /etc/samba/smb.conf /etc/samba/smb.conf.bak
    [root@linuxprobe ~]# cat /etc/samba/smb.conf.bak | grep -v "#" | grep -v ";" | grep -v "^$" > /etc/samba/smb.conf
    [root@linuxprobe ~]# cat /etc/samba/smb.conf
    
    12.1.1 配置共享资源

    表12-2 用于设置Samba服务程序的参数以及作用

    参数 作用
    [database] 共享名称为database
    comment = Do not arbitrarily modify the database file 警告用户不要随意修改数据库
    path = /home/database 共享目录为/home/database
    public = no 关闭“所有人可见”
    writable = yes 允许写入操作
    [root@linuxprobe ~]# id linuxprobe
    uid=1000(linuxprobe) gid=1000(linuxprobe) groups=1000(linuxprobe)
    [root@linuxprobe ~]# pdbedit -a -u linuxprobe
    new password:此处输入该账户在Samba服务数据库中的密码
    retype new password:再次输入密码进行确认
    Unix username: linuxprobe
    NT username: 
    Account Flags: [U ]
    User SID: S-1-5-21-507407404-3243012849-3065158664-1000
    Primary Group SID: S-1-5-21-507407404-3243012849-3065158664-513
    Full Name: linuxprobe
    Home Directory: \localhostlinuxprobe
    HomeDir Drive: 
    Logon Script: 
    Profile Path: \localhostlinuxprobeprofile
    Domain: LOCALHOST
    Account desc: 
    Workstations: 
    Munged dial: 
    Logon time: 0
    Logoff time: Wed, 06 Feb 2036 10:06:39 EST
    Kickoff time: Wed, 06 Feb 2036 10:06:39 EST
    Password last set: Mon, 13 Mar 2017 04:22:25 EDT
    Password can change: Mon, 13 Mar 2017 04:22:25 EDT
    Password must change: never
    Last bad password : 0
    Bad password count : 0
    Logon hours : FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
    
    [root@linuxprobe ~]# mkdir /home/database
    [root@linuxprobe ~]# chown -Rf linuxprobe:linuxprobe /home/database
    [root@linuxprobe ~]# semanage fcontext -a -t samba_share_t /home/database
    [root@linuxprobe ~]# restorecon -Rv /home/database
    restorecon reset /home/database context unconfined_u:object_r:home_root_t:s0->unconfined_u:object_r:samba_share_t:s0
    
    [root@linuxprobe ~]# getsebool -a | grep samba
    samba_create_home_dirs --> off
    samba_domain_controller --> off
    samba_enable_home_dirs --> off
    samba_export_all_ro --> off
    samba_export_all_rw --> off
    samba_portmapper --> off
    samba_run_unconfined --> off
    samba_share_fusefs --> off
    samba_share_nfs --> off
    sanlock_use_samba --> off
    use_samba_home_dirs --> off
    virt_sandbox_use_samba --> off
    virt_use_samba --> off
    [root@linuxprobe ~]# setsebool -P samba_enable_home_dirs on
    
    [root@linuxprobe ~]# vim /etc/samba/smb.conf 
    [global]
     workgroup = MYGROUP
     server string = Samba Server Version %v
     log file = /var/log/samba/log.%m
     max log size = 50
     security = user
     passdb backend = tdbsam
     load printers = yes
     cups options = raw
    [database]
     comment = Do not arbitrarily modify the database file
     path = /home/database
     public = no
     writable = yes
    
    [root@linuxprobe ~]# systemctl restart smb
    [root@linuxprobe ~]# systemctl enable smb
     ln -s '/usr/lib/systemd/system/smb.service' '/etc/systemd/system/multi-user.target.wants/smb.service'
    [root@linuxprobe ~]# iptables -F
    [root@linuxprobe ~]# service iptables save
    iptables: Saving firewall rules to /etc/sysconfig/iptables:[ OK ]
    
    12.1.3 Linux挂载共享
    [root@linuxprobe ~]# yum install cifs-utils
    
    [root@linuxprobe ~]# vim auth.smb
    username=linuxprobe
    password=redhat
    domain=MYGROUP
    [root@linuxprobe ~]# chmod -Rf 600 auth.smb
    
    [root@linuxprobe ~]# mkdir /database
    [root@linuxprobe ~]# vim /etc/fstab
    #
    # /etc/fstab
    # Created by anaconda on Wed May 4 19:26:23 2017
    #
    # Accessible filesystems, by reference, are maintained under '/dev/disk'
    # See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
    #
    /dev/mapper/rhel-root / xfs defaults 1 1
    UUID=812b1f7c-8b5b-43da-8c06-b9999e0fe48b /boot xfs defaults 1 2
    /dev/mapper/rhel-swap swap swap defaults 0 0
    /dev/cdrom /media/cdrom iso9660 defaults 0 0 
    //192.168.10.10/database /database cifs credentials=/root/auth.smb 0 0
    [root@linuxprobe ~]# mount -a
    
    [root@linuxprobe ~]# cat /database/Memo.txt
    i can edit it .
    
    12.2 NFS网络文件系统
    [root@linuxprobe ~]# yum install nfs-utils
    
    [root@linuxprobe ~]# iptables -F
    [root@linuxprobe ~]# service iptables save
    iptables: Saving firewall rules to /etc/sysconfig/iptables:[ OK ]
    
    [root@linuxprobe ~]# mkdir /nfsfile
    [root@linuxprobe ~]# chmod -Rf 777 /nfsfile
    [root@linuxprobe ~]# echo "welcome to linuxprobe.com" > /nfsfile/readme
    
    [root@linuxprobe ~]# vim /etc/exports
    /nfsfile 192.168.10.*(rw,sync,root_squash)
    
    [root@linuxprobe ~]# systemctl restart rpcbind
    [root@linuxprobe ~]# systemctl enable rpcbind
    [root@linuxprobe ~]# systemctl start nfs-server
    [root@linuxprobe ~]# systemctl enable nfs-server
    ln -s '/usr/lib/systemd/system/nfs-server.service' '/etc/systemd/system/nfs.target.wants/nfs-server.service'
    
    [root@linuxprobe ~]# showmount -e 192.168.10.10
    Export list for 192.168.10.10:
    /nfsfile 192.168.10.*
    
    [root@linuxprobe ~]# cat /nfsfile/readme
    welcome to linuxprobe.com
    [root@linuxprobe ~]# vim /etc/fstab 
    #
    # /etc/fstab
    # Created by anaconda on Wed May 4 19:26:23 2017
    #
    # Accessible filesystems, by reference, are maintained under '/dev/disk'
    # See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
    #
    /dev/mapper/rhel-root / xfs defaults 1 1
    UUID=812b1f7c-8b5b-43da-8c06-b9999e0fe48b /boot xfs defaults 1 2
    /dev/mapper/rhel-swap swap swap defaults 0 0
    /dev/cdrom /media/cdrom iso9660 defaults 0 0 
    192.168.10.10:/nfsfile /nfsfile nfs defaults 0 0
    
    12.3 AutoFs自动挂载服务
    [root@linuxprobe ~]# yum install autofs
    
    [root@linuxprobe ~]# vim /etc/auto.master
    #
    # Sample auto.master file
    # This is an automounter map and it has the following format
    # key [ -mount-options-separated-by-comma ] location
    # For details of the format look at autofs(5).
    #
    /media /etc/iso.misc
    /misc /etc/auto.misc
    #
    # NOTE: mounts done from a hosts map will be mounted with the
    # "nosuid" and "nodev" options unless the "suid" and "dev"
    # options are explicitly given.
    #
    /net -hosts
    #
    # Include /etc/auto.master.d/*.autofs
    #
    +dir:/etc/auto.master.d
    #
    # Include central master map if it can be found using
    # nsswitch sources.
    #
    # Note that if there are entries for /net or /misc (as
    # above) in the included master map any keys that are the
    # same will not be seen as the first read key seen takes
    # precedence.
    #
    +auto.master
    
    [root@linuxprobe ~]# vim /etc/iso.misc
    iso   -fstype=iso9660,ro,nosuid,nodev :/dev/cdrom
    [root@linuxprobe ~]# systemctl start autofs 
    [root@linuxprobe ~]# systemctl enable autofs 
    ln -s '/usr/lib/systemd/system/autofs.service' '/etc/systemd/system/multi-user.target.wants/autofs.service'
    
    [root@linuxprobe ~]# df -h
    Filesystem Size Used Avail Use% Mounted on
    /dev/mapper/rhel-root 18G 3.0G 15G 17% /
    devtmpfs 905M 0 905M 0% /dev
    tmpfs 914M 140K 914M 1% /dev/shm
    tmpfs 914M 8.9M 905M 1% /run
    tmpfs 914M 0 914M 0% /sys/fs/cgroup
    /dev/sda1 497M 119M 379M 24% /boot
    [root@linuxprobe ~]# cd /media
    [root@linuxprobe media]# ls
    [root@linuxprobe media]# cd iso
    [root@linuxprobe iso]# ls -l
    total 812
    dr-xr-xr-x. 4 root root 2048 May 7 2017 addons
    dr-xr-xr-x. 3 root root 2048 May 7 2017 EFI
    -r--r--r--. 1 root root 8266 Apr 4 2017 EULA
    -r--r--r--. 1 root root 18092 Mar 6 2012 GPL
    dr-xr-xr-x. 3 root root 2048 May 7 2017 images
    dr-xr-xr-x. 2 root root 2048 May 7 2017 isolinux
    dr-xr-xr-x. 2 root root 2048 May 7 2017 LiveOS
    -r--r--r--. 1 root root 108 May 7 2017 media.repo
    dr-xr-xr-x. 2 root root 774144 May 7 2017 Packages
    dr-xr-xr-x. 24 root root 6144 May 7 2017 release-notes
    dr-xr-xr-x. 2 root root 4096 May 7 2017 repodata
    -r--r--r--. 1 root root 3375 Apr 1 2017 RPM-GPG-KEY-redhat-beta
    -r--r--r--. 1 root root 3211 Apr 1 2017 RPM-GPG-KEY-redhat-release
    -r--r--r--. 1 root root 1568 May 7 2017 TRANS.TBL
    [root@linuxprobe ~]# df -h
    Filesystem Size Used Avail Use% Mounted on
    /dev/mapper/rhel-root 18G 3.0G 15G 17% /
    devtmpfs 905M 0 905M 0% /dev
    tmpfs 914M 140K 914M 1% /dev/shm
    tmpfs 914M 8.9M 905M 1% /run
    tmpfs 914M 0 914M 0% /sys/fs/cgroup
    /dev/cdrom 3.5G 3.5G 0 100% /media/iso
    /dev/sda1 497M 119M 379M 24% /boot
    
  • 相关阅读:
    软件工程---作业---分析
    软件体系结构---团队项目---个人工作-4
    软件体系结构---团队项目---个人工作-3
    软件体系结构---团队项目---个人工作-2
    软件体系结构---团队项目---个人工作
    软件工程博客---团队项目---个人设计1
    UML-类图
    工大助手--C#之DataGrid
    团队项目——工大助手界面(查询部分)
    团队项目——工大助手界面(登录部分)
  • 原文地址:https://www.cnblogs.com/gerenboke/p/12632455.html
Copyright © 2011-2022 走看看