NIS以及SAMBA

NIS(Network Information Service)网络信息服务
网络信息服务(Network Information Service)是集中控制几个系统管理数据库的网络用品。用户只需要在nis服务器上面创建,客户端加入nis域,直接可以使用Nis域上的用户来登录客户端。
所需软件:
yp-tools :提供 NIS 相关的查寻指令功能
ypbind :提供 NIS Client 端的设定软件
ypserv :提供 NIS Server 端的设定软件
portmap :RPC必须的软件
相关端口:portmap 111 6.0/7.0用rpcbind取代服务
相关包:ypserv ypbind yp-tools
二、NIS配置
1、服务器
安装ypserv

[root@localhost ~]# yum install ypserv -y
已加载插件:langpacks, product-id, search-disabled-repos, subscription-manager
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
Repository bash is listed more than once in the configuration
file:///mnt/repodata/repomd.xml: [Errno 14] curl#37 - "Couldn't open file /mnt/repodata/repomd.xml"
正在尝试其它镜像。
软件包 ypserv-2.31-8.el7.x86_64 已安装并且是最新版本
无须任何处理

设置用户文件夹 建立密码
[root@localhost ~]# mkdir /nishome
[root@localhost ~]# useradd -d /nishome/user1 -u 1111 user1
[root@localhost ~]# useradd -d /nishome/user4 -u 4444 user4
[root@localhost ~]# useradd -d /nishome/user7 -u 7777 user7
[root@localhost ~]# echo redhat | passwd --stdin user1
更改用户 user1 的密码 。
passwd:所有的身份验证令牌已经成功更新。
[root@localhost ~]# echo redhat | passwd --stdin user4
更改用户 user4 的密码 。
passwd:所有的身份验证令牌已经成功更新。
[root@localhost ~]# echo redhat | passwd --stdin user7
更改用户 user7 的密码 。
passwd:所有的身份验证令牌已经成功更新。

为nis服务器指定域名
[root@localhost ~]# vim /etc/sysconfig/network
# Created by anaconda
# NISDOMAIN=www.example.com
NISDOMAIN=www.example.com
~     
加入www.example.com                      
[root@localhost ~]# nisdomainname www.example.com
[root@localhost ~]# nisdomainname
www.example.com

定义NIS域名到/etc/rc.loca中
[root@localhost ~]# echo "bin/nisdomainname wwww=.example.com"  >> /etc/rc.local 

重启服务查看状态
[root@localhost ~]# systemctl restart ypserv.service
[root@localhost ~]# systemctl status ypserv.service
● ypserv.service - NIS/YP (Network Information Service) Server
   Loaded: loaded (/usr/lib/systemd/system/ypserv.service; disabled; vendor preset: disabled)
   Active: active (running) since 六 2019-02-16 20:03:20 CST; 31s ago
 Main PID: 5349 (ypserv)
   Status: "Processing requests..."
   CGroup: /system.slice/ypserv.service
           └─5349 /usr/sbin/ypserv -f
2月 16 20:03:20 localhost systemd[1]: Starting NIS/YP (Network Informa....
2月 16 20:03:20 localhost ypserv[5349]: WARNING: no securenets file found!
2月 16 20:03:20 localhost systemd[1]: Started NIS/YP (Network Informat....
Hint: Some lines were ellipsized, use -l to show in full.

生成nis用户数据库
[root@localhost ~]# /usr/lib64/yp/ypinit -m
At this point, we have to construct a list of the hosts which will run NIS
servers.  localhost is in the list of NIS server hosts.  Please continue to add
the names for the other hosts, one per line.  When you are done with the
list, type a <control D>.
	next host to add:  localhost
	next host to add:   (没有其他服务器的话  ctrl+d)
The current list of NIS servers looks like this:

localhost

Is this correct?  [y/n: y]  y
We need a few minutes to build the databases...
Building /var/yp/www.example.com/ypservers...
Running /var/yp/Makefile...
gmake[1]: 进入目录“/var/yp/www.example.com”
Updating passwd.byname...
Updating passwd.byuid...
Updating group.byname...
Updating group.bygid...
Updating hosts.byname...
Updating hosts.byaddr...
Updating rpc.byname...
Updating rpc.bynumber...
Updating services.byname...
Updating services.byservicename...
Updating netid.byname...
Updating protocols.bynumber...
Updating protocols.byname...
Updating mail.aliases...
gmake[1]: 离开目录“/var/yp/www.example.com”
localhost has been set up as a NIS master server.
Now you can run ypinit -s localhost on all slave server.

使用nfs共享nis用户家目录
[root@localhost ~]# vim /etc/exports
/nishome                *(ro)

[root@localhost ~]# systemctl restart nfs.service
[root@localhost ~]# systemctl restart ypserv.service 

客户端配置

[root@localhost ~]# yum install ypbind -y
[root@localhost ~]# setup

客户端查看用户
[root@localhost ~]# id user1
uid=1111(user1) gid=1111(user1) 组=1111(user1)
[root@localhost ~]# id user4
uid=4444(user4) gid=4444(user4) 组=4444(user4)
[root@localhost ~]# id user7
uid=7777(user7) gid=7777(user7) 组=7777(user7)
[root@localhost ~]# 



客户端的自动挂载

安装服务
[root@localhost ~]# vim /etc/auto.master
/misc   /etc/auto.misc
/nishome /etc/auto.nis

编辑控制文件
[root@localhost ~]# vim /etc/auto.nis

*       -fstype=nfs     192.168.159.129:/nishome/&
 
[root@localhost ~]# systemctl restart autofs
客户端可以访问服务端用户
[root@localhost ~]# su - user4
[user4@localhost ~]$ su - user7
密码:

Nis服务器上面,新建立的用户,如果需要客户端验证访问,那么需要在服务器端重新生成nis数据库,然后重启ypserv服务。

SAMBA
SAMBA是在Linux和UNIX系统上实现SMB(Server Message block)协议的一个开源实现。
功能:通过SMB协议进行文件共享
通过SMB协议进行打印共享(我们可以通过在linux上通过smb配置打印服务器,为window提供打印服务)
加入一个windows2000/2003/2008域环境
smb是可以加入window域环境当中,并且是可以和window下的这些域环境进行认证操作的。所以smb这个协议是相当强大的不仅限于只是实现文件共享
通过windows域环境进行认证操作。
SMB协议又称为CIFS(Common Internet File System)协议

Samba拥有两个主服务(相关服务),对于一般使用的服务他只有一个主服务
smbd (提供samba核心功能也是使用最多的一种功能) 提供文件及打印共享服务功能,使用139/445端口
nmbd 提供Netbios(解析协议慢慢的被淘汰)支持,使用137/138端口,而对于这种协议使用较少,现在都是dns进行解析
一般作为文件共享使用samba,则只需要smbd服务

SAMBA配置文件
Samba的配置文件为/etc/samba/smb.conf
配置文件分为三个部分:
[global] 定义全局性配置(配置samba服务的相关参数)
[homes] 定义对用户家目录的共享配置(其实在默认情况下不做任何设置,直接启用服务我们就可以通过smb协议访问所有用户的家目录)
[printers] 定义打印机共享配置

Multiuser多用户挂载机制
在服务器上通过SMB共享目录/devops,并满足以下要求
1、共享名为devops
2、共享目录devops只能被192.168.159.0网段中的客户端使用
3、共享目录devops必须可以被浏览
4、用户xixi必须能以读的方式访问此共享,访问密码是xixi
5、用户maomao必须能以读写的方式访问此共享,访问密码是maomao
客户端:此共享永久挂载在192.168.159.129上的/mnt/dev/目录,并使用用户xixi作为认证,任何用户可以通过用户maomao来临时获取写的权限
服务端:

[root@localhost ~]# mkdir /devops
[root@localhost ~]# chmod o+w /devops
[root@localhost ~]# useradd -d /nishome/xixi xixi
[root@localhost ~]# useradd -d /nishome/maomao maomao

[root@localhost ~]# vim /etc/samba/smb.conf 
[devops]
        path = /devops
        hosts all = 192.168.159.
        browseable = yes
        writable = no
        write list = maomao
        
[root@localhost ~]# smbpasswd -a xixi
New SMB password:
Retype new SMB password:
Added user xixi.
[root@localhost ~]# smbpasswd -a maomao
New SMB password:
Retype new SMB password:
Added user maomao.

[root@localhost ~ ]# systemctl restart smb nmb
[root@localhost ~ ]# /user/lib64/yp/ypinit -m

客户端:

[root@localhost ~ ]# yum install cifs-*
[root@localhost ~ ]# umount /dev/sr0
[root@localhost ~ ]# mkdir /mnt/dev
[root@localhost ~ ]# vim /etc/fstab

//192.168.159.129/devops	/mnt/dev cifs defaults,username=xixi,password=xixi,muliuser,sec=ntlmssp 0 0
[root@localhost ~ ]# mount -a

root@localhost ~ ]# su - xixi
root@localhost ~ ]# cd /mnt/dev
[root@localhost dev]$ ls
Ls: reading directory .: Permission denied
[xixi@localhost dev]$ cifscreds add 192.168.159.129
Password:

[root@localhost ~ ]# su - maomao
[maodou@localhost ~]$ cd /mnt/dev
[maodou@localhost dev]$ cifscreds add 192.168.159.129
Password:
[maodou@localhost dev]$ ls
[maodou@localhost dev]$ touch maomao
[maodou@localhost dev]$ ls
maomao

服务端
[root@localhost ~ ]# systemctl restart smb nmb

案例:1、建立共享目录student,它的本机路径为/home/student,只有teacher组的用户可以读写该目录,student用户只能读取。

[root@localhost ~]# useradd student
[root@localhost ~]# groupadd teacher
[root@localhost ~]# mkdir /home/student
[root@localhost ~]# gpasswd -M  user1,user4 teacher

[root@localhost ~]# vim /etc/samba/smb.conf
[student]
        path=/home/student
        comment=student
        browseable=yes
        public=yes
        writable=yes
[root@localhost ~]# chmod 500 /home/student
[root@localhost ~]# setfacl -m g:teacher:rwx /home/student

2、员工可以在公司内流动办公,无论在任何一台机器上工作,都能把自己的文件放到服务器上,同时不能使用服务器上的

[root@localhost ~]# vim /etc/samba/smb.conf
[public]
        path=/public
        comment=public
        browseable=yes
        public=yes
        writable=yes

3、公司有两个部门,sales和market,两个部门都有单独的共享目录,只可以总经理和相应部门员工访问,并且公司员工禁止访问非本部门的共享目录

[root@localhost ~]# useradd -g sales saleceo
[root@localhost ~]# useradd -g market marketceo
[root@localhost ~]# chmod 755 /home/sales
[root@localhost ~]# chmod 755 /home/market
[root@localhost ~]# vim /etc/samba/smb.conf
[sales]
        path=/home/sales
        comment=sales
        valid users = @market
        invaild = saleceo,@sales
        writable=yes
[market]
        path=/home/market
        comment=market
        valid users = @sales
        invaild = marketceo,@market
        writable=yes
 
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值