• Linux--NiaoGe-Service-01


    安装环境介绍

    CentOS 6.9_x86_64

    我们选择的是基本安装,也即“Basic Server”。

    安装完成后重启来到(runlevel 3)纯文本界面。

    例题 批量创建账号:假设有5个账号xueji0{1,2,3,4,5},且这五个账号希望有一个共享目录,因此应该将这五个账号加入同一个用户组,假设这个用户组名为:group-XJ,且这五个账号的密码爵位123456,因此这5个账号可以用以下命令创建。

    然后查看一个创建完成的用户

    例题 共享目录权限:这五个用户的共享目录位于/home/group-XJ这个目录,这个目录只能这5个用户使用,且每个用户均可在该目录内进行任何操作,而其他用户无权使用(没有权限)该目录,具体操作如下:

    测试

    例题 Quota操作:假设这五个用户均需要进行磁盘操作,每个用户的配额为2GB(hard)以及1.8GB(soft),具体操作如下:

    1.首先启动filesystem的Quota的支持

    使用vim编辑/etc/fstab文件

    注意:因为是要处理用户的磁盘,所以采用的是/home这个目录来进行限额。另外,CentOS 6.x以后,默认使用UID的磁盘代号而非使用文件名,不过,仍可以使用类似/dev/sda1之类的文件名!

    上述操作说明,卸载home目录,重新挂载,然后查看/home所在的filesystem有没有上述的挂载属性!

    2.制作Quota配额文件,并启动文件系统的Quota支持(虽然执行过quotacheck -avug之后会报很多错误,但是有绿色框内的提示,证明上述操作有效!)

    3.为用户定义Quota配额

    执行edquota -u xueji01后编辑标注位置

    用户xueji02,xueji03,xueji04,xueji05一样的操作!

    执行edquota -p xueji0{1,2,3,4,5}

    最后执行repquota -au查看

    例题 文件系统扩充(LVM):假设/home不够用了,需要将/home扩充到7GB,具体操作如下:

    开始制作PV

    因为是虚拟机,所以执行partprobe会报错,需要reboot才行!

    将/dev/sda9加入PV,并将该PV加入vg_xueji这个VG

    开始扩充/home,先查看下LV容量

    使用lvresize来重重LV容量

    扩充文件系统

    OK,扩充完成!

    例题 不同的runlevel下服务管理,在当前的runlevel之下,有哪些服务是默认启动的呢?此外,如果我的系统当前不想启动自动网络挂载(autofs)机制,则如何让该服务在系统启动时不被自动加载启动的呢?

    答:默认的runlevel可以使用runlevel这个命令来处理,那我们默认使用运行级别3,因此可以这样做:

    上述命令的输出信息中,会有autofs服务是在启动的状态,如果需要关闭它,具体操作如下:

    上面提到的知识已经启动的服务,如果想要了解已启动的网络监听服务(网络监听服务在下面会提到),那么该如何做呢?见下面这个例题:

    例题 查询已启动的网络监听服务,想要检查当前我这台主机启动的所有网络监听服务有哪些?且关闭不需要的网络监听程序,具体操作如下:

    执行netstat -tulnp

    假设现在想要关闭某个服务,可以使用/etc/init.d/servername stop来关闭,然后使用chkconfig来设置开机启动行为。但是,有时启动的服务名称可能与实际命令不一样,此时需要使用grep去过滤数据,或者通过tab键去去的相关的服务名。

    例题 使用YUM进行系统更新:假设用户的网络畅通,需要进行整个系统的更新,且每天凌晨3:00进行整个系统的更新:

    但是不明白的是:为什么这样不能添加计划任务,使用crontab -e却可以

    [root@xueji ~]# crontab -e
    0 3 * * * root /usr/bin/yum -y update
    :wq
    crontab: installing new crontab
    [root@xueji ~]# crontab -l
    0 3 * * * root /usr/bin/yum -y update

    软件安装与查询

    例题 查询当前系统中是否安装了Samba这个软件,具体操作:

    [root@xueji ~]# rpm -qa | grep -i samba
    samba-client-3.6.23-51.el6.x86_64
    samba-winbind-clients-3.6.23-51.el6.x86_64
    samba4-libs-4.2.10-15.el6.x86_64
    samba-winbind-3.6.23-51.el6.x86_64
    samba-common-3.6.23-51.el6.x86_64
    ##(其实我也没有看出鸟哥这啥意思!这个命令意义何在?)
    [root@xueji ~]# yum search samba #查询YUM源里有没有相关软件
    [root@xueji ~]# yum install -y samba #安装samba
    #查看samba的配置文件
    [root@xueji ~]# rpm -qc samba samba-common
    /etc/logrotate.d/samba
    /etc/pam.d/samba
    /etc/samba/smbusers
    /etc/samba/lmhosts
    /etc/samba/smb.conf
    /etc/sysconfig/samba

    samba的详细配置这里就不再说了。

    例题 启动samba且设置开机启动

    #首先查询samba的启动方式
    [root@xueji ~]# rpm -ql samba | grep '/etc'
    /etc/logrotate.d/samba
    /etc/openldap/schema
    /etc/openldap/schema/samba.schema
    /etc/pam.d/samba
    /etc/rc.d/init.d/nmb
    /etc/rc.d/init.d/smb  
    /etc/samba/smbusers
    #启动
    [root@xueji ~]# /etc/init.d/smb start
    启动 SMB 服务:                                            [确定]
    [root@xueji ~]# /etc/init.d/nmb start
    启动 NMB 服务:                                            [确定]
    [root@xueji ~]# chkconfig smb on
    [root@xueji ~]# chkconfig nmb on
    [root@xueji ~]# netstat -tlunp | grep '[sn]mbd'
    tcp        0      0 0.0.0.0:139                 0.0.0.0:*                   LISTEN      22356/smbd          
    tcp        0      0 0.0.0.0:445                 0.0.0.0:*                   LISTEN      22356/smbd          
    tcp        0      0 :::139                      :::*                        LISTEN      22356/smbd          
    tcp        0      0 :::445                      :::*                        LISTEN      22356/smbd          
    udp        0      0 192.168.30.255:137          0.0.0.0:*                               22369/nmbd          
    udp        0      0 192.168.30.12:137           0.0.0.0:*                               22369/nmbd          
    udp        0      0 0.0.0.0:137                 0.0.0.0:*                               22369/nmbd          
    udp        0      0 192.168.30.255:138          0.0.0.0:*                               22369/nmbd          
    udp        0      0 192.168.30.12:138           0.0.0.0:*                               22369/nmbd          
    udp        0      0 0.0.0.0:138                 0.0.0.0:*                               22369/nmbd      

    权限与SElinux

    例题 单一用户、组的权限设定ACL:假设想要让student可以进入/home/group-XJ目录下,具有读但没有写的权限。同时xueji05在/home/group-XJ内,不具有任何权限。具体操作

    [root@xueji ~]# useradd student
    [root@xueji ~]# echo "123456" | passwd --stdin student
    更改用户 student 的密码 。
    passwd: 所有的身份验证令牌已经成功更新。
    [root@xueji ~]# setfacl -m u:student:rx /home/group-XJ/
    [root@xueji ~]# setfacl -m u:xueji05:- /home/group-XJ/
    [root@xueji ~]# getfacl /home/group-XJ/
    getfacl: Removing leading '/' from absolute path names
    # file: home/group-XJ/
    # owner: root
    # group: group-XJ
    # flags: -s-
    user::rwx
    user:xueji05:---
    user:student:r-x
    group::rwx
    mask::rwx
    other::---
    [root@xueji ~]# ll -d /home/group-XJ/
    drwxrws---+ 2 root group-XJ 4096 9月   6 08:17 /home/group-XJ/

    系统安全与备份

    例题 系统中比较重要的目录有/etc、home、/root、/var/spool/mail等,现在想要在每周五的凌晨2:50进行备份,且备份数据春到/backup目录下,并使用tar将备份数据打包,具体操作:

    [root@xueji ~]# cd /root/bin/
    [root@xueji bin]# vim backup.sh
    #!/bin/bash 
    backdir="/etc /home /root /var/spool/mail"
    basedir=/backup
    [ ! -d "$basedir" ] && mkdir $basedir
    backfil=$basedir/backup.tar.gz
    tar -zcvf $backfile $backdir
    [root@xueji ~]# crontab -e
    0 3 * * * root /usr/bin/yum -y update
    50 2 * * 5 root sh /root/bin/backup.sh
    :wq
    crontab: installing new crontab
    [root@xueji bin]# crontab -l
    0 3 * * * root /usr/bin/yum -y update
    50 2 * * 5 root sh /root/bin/backup.sh
  • 相关阅读:
    在swift中使用oc 的代码
    关于iOS9中配置App Transport Security(应用程序传输安全协议)
    IMDb Search
    第一个Apple Watch小例子
    swift项目-模仿团购(主界面的搭建,以及首页的一些细节)
    <Error>: CGContextRestoreGState: invalid context 0x0. If you want to see the backtrace, please set CG_CONTEXT_SHOW_BACKTRACE environmental variable.
    iOS高级-QuartzCore框架-背景平铺
    iOS高级-QuartzCore框架-图片裁剪
    iOS高级-QuartzCore框架-复习和补充、模仿imageView、打水印
    iOS高级-QuartzCore框架-图形上下文栈、矩阵操作、裁剪、重绘(刷帧)
  • 原文地址:https://www.cnblogs.com/zd520pyx1314/p/9595908.html
Copyright © 2020-2023  润新知