文件共享服务器之smaba

smaba(多用户挂载)

    smaba服务器,是结合了FTP和NFS的优点于一身,既可以实现在线编辑,又可以跨平台。

    它的主配置文件:etc/smaba/smaba.conf

安装smaba的步骤




     yum -y install samba

    最小安装的系统也要安装cifs-utils

    systemctl start smb.service重启一下服务


 smbpasswd -a smb1创建一个用户并设置密码

pdbedit -L查看当前用户


编辑主配置文件才可以多用户共享 etc/smaba/smaba.conf

配置文件中

    server string=windows 7 Ultimate 6.1 也就是将系统版本写成Windows系统,可以给***造成错觉

    host allow允许哪台主机能访问我

    log file=/var/log/samba/samba.log(log file定义日志文件存放在哪,放在/var/log下起个目录名叫samba,并在目录/samba下定义samba.log)

    log file=/var/log/samba/%I.log (%I表示客户端主机的IP地址,这样每个客户端都可以有单独的日志)

    writeable=yes说明所有人都能写

    log level=2日志级别

    valid users=用户名 意思是共享给哪些用户

    write list=用户名 决定了哪些用户能写

    image.png

    全局设置表示所有设置都生效,所有用户都会读到。

    家目录共享 [homes] 影响用户的家目录共享

    comment是个描述

    read only = No表示可写


如果想进行一个共享,指定一个共享目录,比如本地创建一个共享目录,希望把它共享出去,做法如下

mkdir /common   

将它进行逻辑卷

[root@centos7 ~]#fdisk /dev/sda

Welcome to fdisk (util-linux 2.23.2).


Changes will remain in memory only, until you decide to write them.

Be careful before using the write command.



Command (m for help):n

All primary partitions are in use

Adding logical partition 6

First sector (325064704-419430399, default 325064704): 

Using default value 325064704

Last sector, +sectors or +size{K,M,G} (325064704-419430399, default 419430399): +10G

Partition 6 of type Linux and of size 10 GiB is set


Command (m for help): t

Partition number (1-6, default 6): 6

Hex code (type L to list all codes): 8e

Changed type of partition 'Linux' to 'Linux LVM'


Command (m for help):w

The partition table has been altered!


Calling ioctl() to re-read partition table.


WARNING: Re-reading the partition table failed with error 16: Device or resource busy.

The kernel still uses the old table. The new table will be used at

the next reboot or after you run partprobe(8) or kpartx(8)

Syncing disks.

[root@centos7 ~]#partprobe /dev/sda

[root@centos7 ~]# pvcreate /dev/sda6

[root@centos7 ~]# vgcreate vgsmb /dev/sda6

[root@centos7 ~]# lvcreate -l +100%FREE -n lvsmb vgsmb

[root@centos7 ~]# mkfs.xfs /dev/vgsmb/lvsmb


保持开机自动挂载 vim /etc/fstab 

/dev/vgsmb/lvsmb                         /common                  xfs     defaults        0 0

mount -a

接下来进行共享

[shared]共享名,客户端可以看到的名字

       comment = Magedu M33 File Server(描述)

       path = /common(共享路径)

 !sys重启一下服务


客户端那里(用另一个终端)

smbclient -L //192.168.190.7匿名登陆一下便可以看到我们刚才的共享 (192.168.190.7是我centos7的地址)


思考valid users =smb1,smbadmin和write list = smbadmin能不能写入一个组

我们在创建几个用户

    [root@centos7 common]# useradd -s /sbin/nologin wukong

    [root@centos7 common]# useradd -s /sbin/nologin tangseng

    [root@centos7 common]# useradd -s /sbin/nologin bajie

    [root@centos7 common]# groupadd xiyou

把这三个用户加到这个组中

    [root@centos7 common]# usermod -aG xiyou wukong

    [root@centos7 common]# gpasswd -a tangseng xiyou

    [root@centos7 common]# groupmems -g xiyou -a bajie

(三种加组的命令方法)

[root@centos7 common]# useradd -s /sbin/nologin baigujing(此用户不在xiyou组)

这些用户仅仅创建没有用,smba不承认,需要

[root@centos7 common]# smbpasswd -a wukong

这些用户密码要输入两遍,在此可以用简单方法将其写到脚本里

[root@centos7 common]# (echo 11;echo 11) |smbpasswd -sa bajie

[root@centos7 common]# (echo 11;echo 11) |smbpasswd -a baigujing(s也可不加)

 之后编辑主配置文件

        writeable=no

#      valid users =smb1,smbadmin

        public=yes

        write list = smbadmin,@xiyou

就可以实现了


browseable=yes说明所有人都能浏览  那么思考怎样才能有的可以浏览,有的人不可以浏览,只能够敲路径实现

write list决定了哪些用户能写,能写的用户是否可以分别设置权限呢?比如A用户设置权限

为777,B用户设置权限为744


解析:要实现用户的区别对待,首先需要子配置文件

config file定义子配置文件,放在全局部分

eg confile file=/usr/local/samba/lib/smb.con.%m

.%m宏定义是为了区分不同


开始:1,编辑主配置文件

      在全局文件里

     config file =/etc/samba/smb.%U.conf    (%U是用户用户名)

 [root@centos7 ~]# cd /etc/samba/

 [root@centos7 samba]# vim smb.wukong.conf(这里写到的是悟空能浏览的)


[shared]

       comment = Magedu M33 File Server

       path = /common

       browseable = yes

        writeable=yes

        force create mode =0777

        foce directory mode= 0777


2 配置主配置文件里的全局部分

使所有人都不可浏览 browseable =no

所有人都不可读 writeable=no

所有人都不可写

  

vim /etc/samba/smb.conf

[shared]

       comment = Magedu M33 File Server

       path = /common

       browseable =no

       writeable=no

       public=yes

[root@centos7 samba]# systemctl restart smb

在centos6测试smbclient -L //192.168.190.7匿名看不到

smbclient -L //192.168.190.7 -U wukong用wukong登陆可看到shared         

 smbclient //192.168.190.7/shared匿名敲路径可看(-L是列出)


所以说其他人读的是主配置文件的[shared]

wukong用户读的是wukong的子配置文件,

也可以让同一个共享名,对不同用户访问的实际空间不一样

也就是共享名一样,用户访问看到的内容不一样



实验:创建baisuzhen,xuxian,fahai,xiaoqing,xushilin,guanyin 六个用户

1.要求以上六个用户都可以浏览并访问目标主机的共享目录leifengta,匿名用户可访问但不可浏览。大小2GB。未来可自动扩展

2.baisuzhen,xuxian,xushilin 可以在该共享目录下创建及删除文件,且彼此之间创建的文件,可以相互修改,其他用户不可创建文件。

3.xuxian,xushilin最多能各自创建200M的数据,且不能删除其他人创建的文件,baisuzhen不受限制.

4.六个用户各自都 有一个以自己名字为名的共享目录,仅自己可见可访问可创建,他人不可见,guanyin对所有目录均有完整权限。


开始第一步增加用户

 for username in baisuzhen xuxian fahai xiaoqing xushilin guanyin ;do useradd -s /sbin/nologin $username ; (echo redhat;echo redhat) |smbpasswd -a $username ;done

mkdir /app/baishezhuan共享源  共享源叫什么无所谓,只要保证根据题意共享目录叫leifengta就行


分区,做到逻辑卷上

[root@centos7 ~]# fdisk /dev/sda 

Welcome to fdisk (util-linux 2.23.2).


Changes will remain in memory only, until you decide to write them.

Be careful before using the write command.



Command (m for help): n

All primary partitions are in use

Adding logical partition 6

First sector (325064704-419430399, default 325064704): 

Using default value 325064704


Last sector, +sectors or +size{K,M,G} (325064704-419430399, default 419430399): +2G 

Partition 6 of type Linux and of size 2 GiB is set


Command (m for help): t

Partition number (1-6, default 6): 6

Hex code (type L to list all codes): 8e

Changed type of partition 'Linux' to 'Linux LVM'


Command (m for help): w

The partition table has been altered!


Calling ioctl() to re-read partition table.


WARNING: Re-reading the partition table failed with error 16: Device or resource busy.

The kernel still uses the old table. The new table will be used at

the next reboot or after you run partprobe(8) or kpartx(8)

Syncing disks.


之后 

[root@centos7(nanyibo) ~]# partprobe /dev/sda 同步

创建物理卷pvcreate 磁盘分区或整个磁盘 

[root@centos7(nanyibo) ~]# pvcreate /dev/sda6  (pv物理卷)

创建卷组的命令是vgcreate   vgcreate 卷组名 物理卷 

[root@centos7(nanyibo) ~]# vgcreate vgbaishe /dev/sda6(卷组,一个或者多个逻辑卷组成一个卷组,卷组把多个逻辑卷组合在一起,形成一个可管理的单元)

创建逻辑卷的命令是lvcreate,lvcreate [-L 逻辑卷大小| -l PE数 ] -n 逻辑卷名称 所属的卷组名

[root@centos7(nanyibo) ~]# lvcreate -l +100%FREE -n lvbaishe vgbaishe (逻辑卷)

[root@centos7(nanyibo) ~]# mkfs.ext4 /dev/vgbaishe/lvbaishe 格式化

[root@centos7(nanyibo) ~]# vim /etc/fstab 

/dev/vgbaishe/lvbaishe /app/baishezhuan                           ext4    defaults,usrquota  0 0

[root@centos7(nanyibo) ~]# mount -a

允许白素贞,许仙,许士林对目录/app/baishezhuan有777权限

[root@centos7(nanyibo) ~]# setfacl -m u:baisuzhen:rwx /app/baishezhuan/

[root@centos7(nanyibo) ~]# setfacl -m u:xuxian:rwx /app/baishezhuan/

[root@centos7(nanyibo) ~]# setfacl -m u:xushilin:rwx /app/baishezhuan/


[global]

        workgroup = SAMBA

        security = user

         passdb backend = tdbsam

         printing = cups

        printcap name = cups

        load printers = yes

        cups options = raw

        config file=/etc/samba/conf.d/%U.conf 编辑子配置文件,要实现用户的区别对待,%U用户用户名

/conf.d/这个目录没有要创建

[leifengta]

        comment =xi hu leifengta

        path=/app/baishezhuan

        browseable = No

        writeable=no

        public=yes(这样就代表匿名可访问)



[root@centos7 ~]# cd /etc/samba/

[root@centos7 samba]# mkdir conf.d

[root@centos7 samba]# cd conf.d/

[root@centos7 conf.d]# vim baisuzhen.conf 对应的事%U.conf


[leifengta]

        comment =xi hu leifengta

        path=/app/baishezhuan

        browseable = yes

        writeable=yes(白素贞)

三个人要属于一个组

 .baisuzhen,xuxian,xushilin 可以在该共享目录下创建及删除文件,且彼此之间创建的文件,可以相互修改,其他用户不可创建文件。

 说明文件的组权限要有6权限  664    


创建组

[root@centos7(nanyibo) conf.d]# groupadd baishezhuan

把这三个用户白素贞,许仙,许士林加到这个白蛇传组中

[root@centos7(nanyibo) conf.d]# usermod  -aG baishezhuan baisuzhen

[root@centos7(nanyibo) conf.d]# usermod  -aG baishezhuan xuxian

[root@centos7(nanyibo) conf.d]# usermod  -aG baishezhuan xushilin


.baisuzhen,xuxian,xushilin 可以在该共享目录下创建及删除文件,且彼此之间创建的文件,可以相互修改,其他用户不可创建文件。

.xuxian,xushilin最多能各自创建200M的数据,且不能删除其他人创建的文件,baisuzhen不受限制.


[root@centos7(nanyibo) conf.d]# chgrp baishezhuan /app/baishezhuan


[root@centos7(nanyibo) conf.d]# chmod g+s /app/baishezhuan/

白素贞能删除

[root@centos7(nanyibo) conf.d]# chown baisuzhen /app/baishezhuan/


[root@centos7(nanyibo) conf.d]# chmod o+t /app/baishezhuan/



[root@centos7 conf.d]# cp baisuzhen.conf xuxian.conf

[root@centos7 conf.d]# cp baisuzhen.conf xushilin.conf

                                        cp xiaoqing.conf fahai.conf

vim xiaoqing.conf

[leifengta]

        comment =xi hu leifengta

        path=/app/baishezhuan

        browseable = yes

        writeable=no




vim fahai.conf

[leifengta]

        comment =xi hu leifengta

        path=/app/baishezhuan

        browseable = yes

        writeable=no

其他文件在此省略了

xuxian,xushilin最多能各自创建200M的数据

[root@centos7 conf.d]# cd

[root@centos7 ~]# quotacheck -cum /app/baishezhuan/

[root@centos7 ~]# quotaon /app/baishezhuan/

[root@centos7 ~]# edquota -u baisuzhen



Disk quotas for user baisuzhen (uid 1001):

  Filesystem                   blocks       soft       hard     inodes     soft     hard

  /dev/mapper/vgbaishe-lvbaishe          0          0          200M          0        0     

   0


查看一下是[root@centos7 ~]# quota -v baisuzhen

[root@centos7 ~]# edquota -p baisuzhen xuxian

[root@centos7 ~]# edquota -p baisuzhen xushilin

[root@centos7 ~]# edquota baisuzhen

[root@centos7 ~]# repquota -v /app/baishezhuan/可以查看白素贞没限制



接下来看效果

[root@centos7 ~]# systemctl restart smb

[root@centos7 ~]# setenforce 0



















































































猜你喜欢

转载自blog.51cto.com/13570206/2299752