技术圈开发者交流群:

Samba服务器-案例配置

Samba案例配置

要求: 每个用户都能访问自己的宿主目录(默认开启)

/test/public          公共目录,maryjack都能读写,但不能删除别人的文件

/test/mary_dir    mary的目录,每个用户都能访问,但只要mary有写的权限

/test/jack_dir       jack  的目录,只有jack能访问和读写

1.安装samba

    yum -y install samba*

2.添加maryjack账户

image.png

3.创建相应目录并赋予相关权限

image.png

4.配置smb.conf文件

   vi /etc/samba/smb.conf     在文件末尾添加

image.png

5.测试语法错误

     testparm

6.添加samba用户

       smbpasswd -a jack

       smbpasswd -a mary

7.关闭防火墙和SELinux

     service iptables stop

     setenforce 0

8.启动smb服务

     service smb start

9.客户机(windows)访问

    运行“\\ 192.168.8.242”,输入相应用户名验证。

      net user  *   /delete  /y      清空共享访问记录。


附件说明

 

gdbedit -a -u jack      添加samba用户

               -a 添加

               -u 指定用户名

               -x 删除用户

gdbedit -L                    列出所有samba用户

gpdedit -vL  jack         显示用户的详细信息

service smb reload      重载smb.conf文件

 

smbclient -L 192.168.8.250   查看共享目录

smbclient -U HT  //192.168.8.250/share   登录使用共享

 

mount -o username=HT  -t cifs //192.168.8.250/share /media/cdrom              使用mount挂载共享文件夹

 

开机自动挂载

  # vi /etc/fstab

// 192.168.8.250/share /media/cdrom cifs defaults,username=HT,passwd=abc-123 0 0

  #service autofs start

image.png

 

image.png


Linux 2017年09月11日 40949

Samba文件共享服务基础

Samba服务的安装

1.[root@rhel6-002 Packages]# ls ./samba*

     ./samba-3.5.10-114.el6.i686.rpm                          服务器软件包

     ./samba-client-3.5.10-114.el6.i686.rpm                共同需要的

     ./samba-common-3.5.10-114.el6.i686.rpm         客户端软件

     ./samba-winbind-3.5.10-114.el6.i686.rpm           WEB软件包

     ./samba-winbind-clients-3.5.10-114.el6.i686.rpm       WEB客户端

2.[root@rhel6-002 ~]# yum -y install samba*

 

Samba服务器的主要程序

      smbd:提供对服务器中文件、打印资源的共享访问 (139 TCP端口号)

      nmbd:提供基于NetBIOS主机名称的解析 (137和138 UDP端口号)

Samba的服务脚本

      /etc/init.d/smb

Samba的配置目录及文件

     /etc/samba/

     /etc/samba/smb.conf

配置文件检查工具:testparm


Samba配置文件    /etc/samba/smb.conf

[global]

workgroup =  指定工作组或域

server string = 描述

security = 指定主机访问

log gile = 知道日志文件存放位置

max log size = 指定日志文件大小

passwd backend = 设置共享账户文件类型

[常见共享目录配置]

comment = 对共享目录的注释

path = 共享目录在服务器中的对应的实际路径

browseble = 该共享目录在“网上邻居”是否可见

guest ok = 是否允许所有人访问,等效于“public”

writable = 是否可写,与read only的作用相反

directory mask = 0755

create mask = 0644        设置上传文件和目录默认权限

image.png

Linux 2017年09月11日 39383

磁盘阵列基本知识

基础知识

一、RAID的定义

是Redundant Array of Independent Disks(独立磁盘冗余阵列),RAID就是一种把多块独立的硬盘(物理硬盘)按不同方式组合起来的一个硬盘组(逻辑硬盘)。

软RAID:是通过软件实现多块硬盘冗余的.

硬RAID是一般通过RAID卡来实现RAID的.

二、RAID0

image.png

 

三、RAID1

image.png

四、RDID5

image.png

 

五、RAID100+1

image.png

六、基本命令

1、创立Raid:

  Raid1 卷

mdadm -C /dev/md0 --level=1 --raid-devices=2 /dev/sdb1 /dev/sdc1

或mdadm -Cv /dev/md0 -l1 -n2 /dev/sdb1 /dev/sdc1

  Radid5 卷

mdadm -C /dev/md5 --level=5 --raid-devices=3 /dev/sda1 /dev/sdb1

或mdadm -Cv /dev/md5 –l5 –n3 /dev/sdb1 /dev/sdc1 /dev/sdd1

 

2、查看raid

mdadm -D /dev/md0

mdadm  --examine /dev/sdb1

或:

mdadm  /dev/md0 --examine /dev/sdb1


3、停止raid 

mdadm -S /dev/md0 

 

4、激活raid 

mdadm -A /dev/md0 /dev/sdd1 /dev/sdc1 

 

5、替换设备: 

mdadm /dev/md0 -f /dev/sdb0 

把设备列为有问题 

mdadm /dev/md0 -r /dev/sdb0 

移除成员 

mdadm /dev/md0 -a /dev/sdc0 

添加成员 

mdadm /dev/md0  --re-add   /dev/sdc0 

重新把最近移除的RAID成员重新添加到RAID中 

 

6、扩容与缩减 

mdadm -G /dev/md0  -n4 

mdadm /dev/md5 -f /dev/sde1 

mdadm /dev/md5 -r /dev/sde1 

mdadm -G /dev/md5 --size=3

Linux 2017年08月30日 12970

LINUX进程管理

程序

保存在硬盘、光盘等介质中的可执行代码和数据

是静态保存的代码

进程

在CPU及内存中运行的程序代码

是动态执行的代码

父、子进程:每个进程可以创建一个或多个进程

 

ps命令

用途:查看静态的进程统计信息

格式:ps aux

      ps -elf

 

使用ps命令工具时,要注意选项前是否有”-“引导符,例如”e“和”-e”选项的含义是有区别的

ps命令结合“aux”选项使用时,将显示系统中所有的进程信息

    PID:该进程在系统中的数字ID号,在当前系统中是唯一的;    %CPU:CPU占用百分比;    %MEM:内存占用百分比

ps命令结合“-elf”选项使用时,将以长格式显示系统中所有的进程信息,包含更丰富的内容(其中PPID列表示进程的父进程的PID号)

 

image.png

定制属性

ps axo pid,comm,%cpu  --sort=%cpu | tail -1

 

进程状态

image.png

 

常见进程状态

image.png

 

进程优先级决定了CPU对进程调度顺序.在Linux中,进程优先级受nice值(-20-19)影响,默认值为0,nice值越小,则进程对cpu的使用权越具有优先性

调整进程优先级的命令:

nice(启动进程时使用)

nice  -n 5  vi

   renice (对于已经启动的进程)

                  renice 9 1236

 

top命令

用途:查看动态的进程排名信息

 

切换到虚拟机环境演示ps(包括ps aux、ps –elf的用法)、top命令的使用,并讲解输出结果中的要点(CPU占用、内存占用等)

从用途上对比ps、top两个命令的不同,可适当介绍top工具的命令按键:P、M、N、h、q

按P键根据CPU占用情况对进程列表进行排序

按M键根据内存占用情况进行排序

按N键根据启动时间进行排序

按h键可以获得top程序的在线帮助信息

按q键可以正常退出top程序

使用空格键可以强制更新进程状态显示

 

pgrep命令

用途:根据特定条件查询进程PID信息

 

[root@localhost ~]# pgrep "init"

1

[root@localhost ~]# pgrep -l "log"

2538 syslogd

2541 klogd

3221 login

[root@localhost ~]# pgrep -l -U teacher -t tty1

27483 bash

27584 vim

 

 

pgrep命令

用途:根据特定条件查询进程PID信息

 

[root@localhost ~]# pstree -aup

init,1

  ├─acpid,2866

  ├─atd,3060

  ├─auditd,2516

     ├─python,2518 /sbin/audispd

     └─{auditd},2517

……

[root@localhost ~]# pstree -ap teacher

bash,27483

  └─vim,27674 myfile.txt

 

手工启动

前台启动:用户输入命令,直接执行程序

后台启动:在命令行尾加入“&”符号

[root@localhost ~]# cp /dev/cdrom mycd.iso &

[1] 28454

 

调度启动

使用at命令,设置一次性计划任务

使用crontab命令,设置周期性计划任务

 

Ctrl+Z 组合键

将当前进程挂起,即调入后台并停止执行

jobs命令

查看处于后台的任务列表

fg命令

将处于后台的进程恢复到前台运行,需指定任务序号

[root@localhost ~]# jobs

[1]-   Stopped                 cp /dev/cdrom mycd.iso

[2]+  Stopped                 top

[root@localhost ~]# fg 1

 

Ctrl+C组合键

中断正在执行的命令

kill、killall命令

kill用于终止指定PID号的进程

killall用于终止指定名称的所有进程

-9 选项用于强制终止

[root@localhost ~]# pgrep -l "portmap"

2869  portmap

[root@localhost ~]# kill  -9  2869

[root@localhost ~]# killall -9 vim

[1]-  已杀死               /usr/bin/vim file1

[2]-  已杀死               /usr/bin/vim file2

 

pkill命令

用途:根据特定条件终止相应的进程

常用命令选项:

 -U:根据进程所属的用户名终止相应进程

 -t:根据进程所在的终端终止相应进程

[root@localhost ~]# pgrep –l -U "hackli"          

3045 bash

[root@localhost ~]# pkill -9 -U "hackli

[root@localhost ~]# pgrep -l U "hackli


Linux 2017年08月30日 37302

SELinux管理

DACMAC

1.DAC(Discretionary Access Control),主体是用户,访问目标文件由文件本身的权限决定,依进程运行时的用户身份决定其访问权限权限.

2.MAC(Mandatory Access Control),主体是进程,访问目标文件由策略决定.

 

SELinux配置文件  /etc/sysconfig/selinux

1.三种模式

#     enforcing - SELinux security policy is enforced.

#     permissive - SELinux prints warnings instead of enforcing.

#     disabled - No SELinux policy is loaded.

SELINUX=enforcing           --selinux的工作状态

#     SELINUXTYPE= can take one of these two values:

#     targeted - Targeted processes are protected,

#     mls - Multi Level Security protection.

SELINUXTYPE=targeted            --指定保护级别

 

2.设置selinux的模式

    sestatus           查看SELinux状态

    semodule -l            查看selinux加载的内核模块

     getenforce          查询当前SELinx配置文件模式

    setenforce  1 | 0    Enforcing | Permissive

3.SElinux的五种元素

     ls -Z   查看文件的安全上下文

     ps -Z    查看进程的上下文

     id -Z    查看用户的上下文

     User:role:type:sensitivity:category

     User_u:object_r:tmp_t:s0:c0

4.selinux策略的控制文件  /selinux/booleans

     getsebool [ -a ] 查看某个(所有)控制策略启用情况

     setsebool [ -P ] 开启或者关闭某个策略,-P表示始终

5.例如查看samba的相关策略

    

image.png


Linux 2017年08月30日 17119

LINUX计划任务管理_AT与crontab

at命令

一次性计划任务

服务脚本名称:/etc/init.d/atd

设置格式:at  [HH:MM]  [yyyy-mm-dd] 

[root@localhost ~]# date
2011年 02月 21日 星期一 14:45:05 CST
[root@localhost ~]# at 14:55 2011-02-21
at> pgrep -U root | wc -l > /tmp/ps.root
at>
job 1 at 2011-02-21 14:55 
[root@localhost ~]# cat /tmp/ps.root
63

案例

在当天的21:30时自动关闭当前系统

root@localhost ~]# at 21:30
at> shutdown -h now
at>
job 7 at 2011-02-21 21:30

查看未执行任务列表

[root@localhost ~]# atq
1       2011-02-21 14:55 a root
2       2011-02-21 21:30 a root

删除第二条任务

[root@localhost ~]# atrm 2
[root@localhost ~]# atq
1       2011-02-21 14:55 a root

at计划任务 所在目录/var/spool/at

at的控制文件/etc/at.allow和 /etc/at.deny 

===================================================================================

crontab命令

按照预先设置的时间周期(分钟、小时、天……)重复执行用户指定的命令操作,属于周期性计划任务 

启用周期性任务有一个前提条件,即对应的系统服务crond必须已经运行

全局配置和系统默认配置中的内容一般不需要用户去修改,用户只需设置/var/spool/cron/目录下与本帐号同名的文件即可,接下来介绍如何设置用户自己的计划任务

[root@localhost ~]# cat /etc/crontab
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/
# run-parts
01 * * * * root run-parts /etc/cron.hourly
02 4 * * * root run-parts /etc/cron.daily
22 4 * * 0 root run-parts /etc/cron.weekly
42 4 1 * * root run-parts /etc/cron.monthly

管理cron计划任务

编辑计划任务:crontab  -e  [-u  用户名]

查看计划任务:crontab  -l  [-u  用户名]

删除计划任务:crontab  -r  [-u  用户名]

 

用户只需执行“crontab -e”命令后会自动调用文本编辑器(默认为vi)并打开“/var/spool/cron/用户名”文件,无需手动指定文件位置

image.png

  • 时间数值的特殊表示方法

    • *       表示该范围内的任意时间

    • ,    表示间隔的多个不连续时间点

    • -       表示一个连续的时间范围

    • /       指定间隔的时间频率

  • 应用示例

    • 0  17        *  *  1-5        周一到周五每天17:00

    • 30  8        *  *  1,3,5          每周一、三、五的8点30分

    • 0  8-18/2        *  *  *          8点到18点之间每隔2小时

    • 0  *        */3  *  *              每隔3天

 

  • 示例1(root用户)

    • 每天早上7:50自动开启sshd服务,22点50时关闭

    • 每隔5天清空一次FTP服务器公共目录/var/ftp/pub

    • 每周六的7:30时,重新启动httpd服务

    • 每周一、三、五的17:30时,打包备份/etc/httpd目录

[root@localhost root]# crontab -e
50 7 * * *   /sbin/service  sshd  start
50 22 * * *   /sbin/service  sshd  stop
0 0 */5 * *   /bin/rm –rf /var/ftp/pub/*
30 7 * * 6   /sbin/service  httpd  restart
30 17 * * 1,3,5   /bin/tar  jcf  httpdconf.tar.bz2  /etc/httpd/
  • 示例2jerry用户)

    • 每周日晚上23:55时将“/etc/passwd文件的内容复制到宿主目录中,保存为pwd.txt文件

[root@localhost root]# crontab -e -u  jerry
55 23 * * 7   /bin/cp  /etc/passwd  /home/jerry/pwd.txt
  • 示例3

    • root用户查看自己的计划任务列表

    • 查看并删除jerry用户设置的计划任务

[root@localhost root]# crontab -l -u jerry
55 23 * * 7  /bin/cp /etc/passwd /home/jerry/pwd.txt
[root@localhost root]# crontab -r -u jerry
[root@localhost root]# crontab -l -u jerry
no crontab for jerry
[root@localhost root]#

Crontab安全性

默认情况下,所有用户都可使用cron工具,要限制对cron的访问,可以使用/etc/cron.allow与/etc/cron.deny文件。

1、这两个文件都不存在时,每个用户都可以访问cron工具。

2、若两个文件都存在,只有/etc/cron.allow中的用户可以访问cron工具,忽略/etc/cron.deny文件

3、如果/etc/deny文件不存在,则/etc/allow中的用户不可以访问cron工具。


Linux 2017年08月16日 19982

Centos搭建 NFS网络文件系统 教程

NFS服务器

1.安装nfs-utils 

  yum -y install nfs-utils

2.创建需要共享的文件或目录

  mkdir /test/share1 /test/share2 /test/share3

3.NFS配置文件

  vi /etc/exports

image.png

4 .启动相关服务

  service rpcbind start
  service nfs start

 5.关闭防火墙

   service iptables stop

6.查看当前主机的共享目录列表

  showmount -e   localhost
  exportfs -rv         使NFS服务器重新读取exports文件中的设置
  exports  -auv      停止当前主机中NFS服务器的所有目录输出


NFS客户端

1.安装nfs-utils

yum -y install nfs-utils

2 .启动相关服务

service rpcbind start
service nfs start

3.查看指定主机共享目录信息

showmount -e 192.168.8.241

image.png

 4.Linux客户端挂载NFS文件系统

image.png

5.系统启动自动挂载NFS文件系统

image.png

image.png

 6.重新读取fstab文件,或者重启计算机

mount -a

7.查看挂载信息

df -T


Linux 2017年08月16日 19995

排行

解决方案

网站建设

专业企业官网建设,塑造企业形象,传递企业价值

系统开发

系统软件开发,用心思考,用心设计,用心体验

技术支撑

打破技术瓶颈,让不堪重负的项目起死回生

业务中台

构建全渠道一体化运营能力,实现全链路数字化

文案策划

文案撰写、营销策划,专注品牌全案

新媒体运营

一站式解决企业互联网营销痛点和难题

以技术的力量,改变互联网

联系我们
鄂ICP备19028750号-1 @copyright 2023 tech1024.com