安装环境介绍

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
* * * root /usr/bin/yum -y update
:wq
crontab: installing new crontab
[root@xueji ~]# crontab -l
* * * root /usr/bin/yum -y update

软件安装与查询

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

[root@xueji ~]# rpm -qa | grep -i samba
samba-client-3.6.-.el6.x86_64
samba-winbind-clients-3.6.-.el6.x86_64
samba4-libs-4.2.-.el6.x86_64
samba-winbind-3.6.-.el6.x86_64
samba-common-3.6.-.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.0.0:* LISTEN /smbd
tcp 0.0.0.0: 0.0.0.0:* LISTEN /smbd
tcp ::: :::* LISTEN /smbd
tcp ::: :::* LISTEN /smbd
udp 192.168.30.255: 0.0.0.0:* /nmbd
udp 192.168.30.12: 0.0.0.0:* /nmbd
udp 0.0.0.0: 0.0.0.0:* /nmbd
udp 192.168.30.255: 0.0.0.0:* /nmbd
udp 192.168.30.12: 0.0.0.0:* /nmbd
udp 0.0.0.0: 0.0.0.0:* /nmbd

权限与SElinux

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

[root@xueji ~]# useradd student
[root@xueji ~]# echo "" | 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---+ root group-XJ 9月 : /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
* * * root /usr/bin/yum -y update
* * root sh /root/bin/backup.sh
:wq
crontab: installing new crontab
[root@xueji bin]# crontab -l
* * * root /usr/bin/yum -y update
* * root sh /root/bin/backup.sh

Linux--NiaoGe-Service-01的更多相关文章

  1. Linux 生产实习01

    Linux 生产实习01 标签(空格分隔): Linux 2018.07.02 相关软件下载地址:Linux Study 0x01. 安装 VMware Workstation VMware Work ...

  2. 在 CentOS7 上将自定义的 jar 包注册为 linux 服务 service

    在 CentOS7 上将自定义的 jar 包注册为 linux 服务 service 1.在 /etc/rc.d/init.d/ 目录下创建一个名字和服务名完全相同的 shell 脚本文件 joyup ...

  3. 将Apache加入到linux系统service

    将Apache加入到linux系统service 将apache加入到linux系统服务,用service命令来控制apache的启动和停止. 本文由乌合之众瞎写http://www.cnblogs. ...

  4. 时隔两年最近再次折腾opensuse 的一些笔记 - opensuse linux java service shell

    时隔两年最近再次折腾opensuse 的一些笔记 - opensuse linux java service shell opensuse 一些常用命令:    service xxx start/s ...

  5. Linux: service network/Network/NetworkManager

    Linux:service network/Network/NetworkManager start 这三种有什么不同? 1.network service的制御网络接口配置信息改动后,网络服务必须从 ...

  6. Linux中service命令和/etc/init.d/的关系

    Linux中service命令和/etc/init.d/的关系   service xxx启动 /etc/init.d/ 目录下的xxx脚本 如一个脚本名为 mysvc保存在/etc/init.d/下 ...

  7. Linux网络服务01——Linux网络基础设置

    Linux网络服务01--Linux网络基础设置 一.查看及测试网络 1.使用ifconfig命令查看网络接口 (1)查看活动的网络接口 ifconfig命令 [root@crushlinux ~]# ...

  8. Linux命令service - 系统服务管理(转)

    用途说明 service命令用于对系统服务进行管理,比如启动(start).停止(stop).重启(restart).查看状态(status)等.相关的命令还包括chkconfig.ntsysv等,c ...

  9. Azure的CentOS上安装LIS (Linux Integration Service)

    Azure上虚拟化技术都是采用的Hyper-v,每台Linux虚拟机都安装了LIS(Linux Integration Service).LIS的功能是为VM提供各种虚拟设备的驱动.所以LIS直接影响 ...

  10. BlackArch Linux 2019.06.01 宣布发布

    导读 BlackArch Linux是一个基于Arch Linux的发行版,专为渗透测试人员和安全研究人员设计,并包含大量渗透测试和安全实用程序,已宣布发布2019.06.01版本. BlackArc ...

随机推荐

  1. InspectIT_EUM 实现原理概述

    在Git上查看 InspectIT 实现原理概述: 实现原理详解:  1.jsAgent如何注入到浏览器 通过ASM框架修改HttpService.service()方法,加入相关逻辑,对每一个Htt ...

  2. Remove FileUtil#copyMerge

    [HADOOP-12967] Remove FileUtil#copyMerge - ASF JIRA https://issues.apache.org/jira/browse/HADOOP-129 ...

  3. node-orm2

    最近应老大要求,对orm2进行再一步封装,所以记录下封装和使用心得(文中数据库:mysql). 数据库连接 var orm = require("orm"); orm.connec ...

  4. Android应用之——最新版本号SDK V2.4实现QQ第三方登录

    为什么要写这篇博客呢?由于.我在做这个第三方登录的时候,找了非常多资料,发现要么就是过时了.要么就是说的非常不清楚.非常罗嗦.并且非常多都是一些小demo,不是什么实例.甚至连腾讯官方的文档都有这个问 ...

  5. iOS开发UIScrollView常见属性和方法

    一.ScrollView常用方法和属性 @property(nonatomic)CGPoint contentOffset; 设置滚动的偏移量 @property(nonatomic)CGSize c ...

  6. 初探linux子系统集之led子系统(三)【转】

    本文转载自:http://blog.csdn.net/eastmoon502136/article/details/37822837 世界杯结束了,德国战车夺得了大力神杯,阿根廷最终还是失败了.也许3 ...

  7. ubuntu安装wine+plsql

    1.在ubuntu下装了win7的虚拟机,在使用plsql进行开发的时候发现很慢很卡,经常半天反应不过来.机器是不差的,1w5的thinkstation,实在受不了这种 速度,想着在ubuntu下搞一 ...

  8. javascript之递归得DOM文本

    var  tag=document.getElementsByTagName('body')[0]; function findChild(tag){ var child=tag.childNodes ...

  9. c++中.c_str和.c_data

    1 关于.c_str的用法: const char *c_str(); 这个数组的数据是临时的,当有一个改变这些数据的成员函数被调用后,其中的数据就会失效.因此要么现用先转换,要么把它的数据复制到用户 ...

  10. Ubuntu16.04 : 用友善提供的4.5.1解压后,运行/opt/FriendlyARM/toolschain/4.5.1/bin/arm-linux-gcc -v出错

    通过查阅百度和谷歌,以下解决方法: The problem has been solved, because I installed the amd64.iso linux system,so fir ...