Linux基础(文件管理、用户管理、权限管理、日志管理、日志备份服务器搭建)

Linux操作系统基础

(一)文件管理

1. 概述
  • Everything is a File,即Linux系统,本质是一个文件系统,文件目录结构如下:
    在这里插入图片描述
    Linux系统的目录结构是一个倒树型,其最大的目录是 / 根目录,根目录其余的二级目录大多是在安装系统时创建的。
  • 使用命令查看系统的目录结构:
    在这里插入图片描述
  • 对目录的解释:

/bin:Binary的缩写,这个目录存放着最经常使用的命令;
/boot:这里存放的是启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件;
/dev :Device(设备)的缩写,该目录下存放的是Linux的外部设备,在Linux中访问设备的方式和访问文件的方式是相同的;
/etc:这个目录用来存放所有的系统管理所需要的配置文件和子目录;
/home:用户的主目录,在Linux中,每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的;
/lib:这个目录里存放着系统最基本的动态连接共享库,其作用类似于Windows里的DLL文件。几乎所有的应用程序都需要用到这些共享库;
/media:Linux系统会自动识别一些设备,例如U盘、光驱等等,当识别后,linux会把识别的设备挂载到这个目录下;
/mnt:系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将光驱挂载在/mnt/上,然后进入该目录就可以查看光驱里的内容了;
/opt: 这是给主机额外安装软件所摆放的目录。比如你安装一个ORACLE数据库则就可以放到这个目录下,默认是空的;
/proc:这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息;这个目录的内容不在硬盘上而是在内存里,我们也可以直接修改里面的某些文件,比如可以通过下面的命令来屏蔽主机的ping命令,使别人无法ping你的机器:
/root:该目录为系统管理员,也称作超级权限者的用户主目录;
/sbin:s就是Super User超户,这里存放的是系统管理员使用的系统管理程序;
/sys: 这是linux2.6内核的一个很大的变化。该目录下安装了2.6内核中新出现的一个文件系统 sysfs,
sysfs文件系统集成了下面3种文件系统的信息:针对进程信息的proc文件系统、针对设备的devfs文件系统以及针对伪终端的devpts文件系统,该文件系统是内核设备树的一个直观反映,当一个内核对象被创建的时候,对应的文件和目录也在内核对象子系统中被创建;
/tmp:这个目录是用来存放一些临时文件的;
/usr: 这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似于windows下的program files目录;
/usr/bin:系统用户使用的应用程序;
/usr/sbin:超级用户使用的比较高级的管理程序和系统守护程序;
/usr/src:内核源代码默认的放置目录;
/var:这个目录中存放着在不断扩充着的东西,我们习惯将那些经常被修改的目录放在这个目录下。包括各种日志文件;
/run:是一个临时文件系统,存储系统启动以来的信息,当系统重启时,这个目录下的文件应该被删掉或清除,如果你的系统上有 /var/run 目录,应该让它指向 run;

注意
在 Linux 系统中,有几个目录是比较重要的,平时需要注意不要误删除或者随意更改内部文件。
/etc: 这个是系统中的配置文件,如果你更改了该目录下的某个文件可能会导致系统不能启动;
/bin、/sbin、/usr/bin、/usr/sbin: 这是系统预设的执行文件的放置目录,比如 ls 就是在/bin/ls 目录下的;bin, /usr/bin 是给系统用户使用的指令(除root外的通用户),而/sbin, /usr/sbin 则是给root使用的指令。
/var: 这是一个非常重要的目录,系统上跑了很多程序,那么每个程序都会有相应的日志产生,而这些日志就被记录到这个目录下,具体在/var/log 目录下,另外mail的预设放置也是在这里。

2.常用命令

cd 切换当前工作目录至某一目录;
ll 列出来的结果详细,有时间、是否可读写等信息 ,像windows里的详细信息;
ls 只列出文件名或目录名,就象windows里的列表;

llls -l 别名 ,ls -l 是 ll 命令的完整命令
我们可以通过 cd /某一个目录 然后 ls 查看该目录下的内容;

pwd 目前所在的工作目录的绝对路径名称;
cat 用于连接文件并打印到标准输出设备上,不能作用于目录;
touch 用于修改文件或者目录的时间属性,包括存取时间和更改时间,若文件不存在,系统会建立一个新的文件;
mkdir 建立一个子目录;
mv 用来为文件或目录改名、或将文件或目录移入其它位置;

命令结果
mv 文件名 文件名将源文件名改为目标文件名
mv 文件名 目录名将文件移动到目标目录
mv 目录名 目录名目标目录已存在,将源目录移动到目标目录;目标目录不存在则改名
mv 目录名 文件名出错

rm 用于删除一个文件或者目录;

rm test.txt
rm:是否删除一般文件 “test.txt”? y
rm homework
rm: 无法删除目录"homework": 是一个目录
rm -r homework
rm:是否删除目录 “homework”? y
rm -r *:删除当前目录下的所有文件及目录,慎用!

cp 用于复制文件或目录;

cp file /tmp/:将名为file文件复制到tmp目录下;
cp file /tmp/newfile:将名为file文件复制到tmp目录下并改名为newfile;
cp –r test/ newtest:用户使用该指令复制目录时,必须使用参数"-r"。

注意: Linux命令太多!我们很难记住,输入命令开头一个或几个字母,再使用 Tab 键可以列举出所有以它开头的命令,结合命令 --help ,学会使用该命令!

3.vim编辑器

在这里插入图片描述

  • 使用 vim 命令进入,i 进入输入模式(INSERT),编辑完成,ESC进入命令模式,输入:,再加 q 退出程序,或者 w 保存文件,或者 wq 保存并退出
  • 直接进入vim编辑器:没有进入指定的文件,即没有文件名;wq 后需要加文件名!
  • 复制粘贴:在命令模式下,yy 或者 y需要复制的行数y :y3y 即复制三行;p 粘贴,退出INSERT模式下使用,复制行数从你光标处开始算往下数!
  • 剪贴:在命令模式下,dd
  • 撤销:在命令模式下,u
  • 查找:在底线命令模式下,输入 / 查找的内容 或者 ?查找的内容,会将所查找的文本标黄;n 键往下匹配文本、N 键网上匹配文本
  • 替换:在底线命令模式下,输入 :%s/需要替换的文本/新内容/g
  • 设置行号:在底线命令模式下,:set nu
  • 取消行号:在底线命令模式下,:set nonu
  • 分屏:Ctrl-w s 将当前视窗分割成两个水平视窗;Ctrl-w v 将当前视窗分割成两个垂直视窗
  • 取消分屏:在底线命令模式下,:only
  • 使用分屏同时编写多个文件:vim -O/o file1 file2... ,大O表示垂直分割(vertical),小o表示水平分割(默认horizontal)
  • 移动光标,也就是切换分屏;也可以移动分屏,比如将左分屏移动到右边。
      ctrl+w 和 h(H):左
      ctrl+w 和 j(J) : 下
      ctrl+w 和 k(K):上
      ctrl+w 和 l(L): 右
      ctrl+w 和 w:各种切换
4.输入输出重定向

比如 :我们通过find命令查找etc目录下的 passwd文件,由于权限问题,会出现以下:
在这里插入图片描述
0 是标准输入(STDIN),1 是标准输出(STDOUT),2 是标准错误输出(STDERR)

  • 如果希望执行某个命令,但又不希望在屏幕上显示输出结果,那么可以将输出重定向到 /dev/null:
    find /etc -name passwd 2> /dev/null
    结果:
    在这里插入图片描述
  • 将错误重定向到/dev/null,将正确的重定向到test中:
    结果:
    在这里插入图片描述
  • 重定向追加:>>
    > 使用多次后,它会覆盖之前的内容,只输出一次,>> 不会覆盖内容,多次追加:
    在这里插入图片描述
    &>可以将错误信息或者普通信息都重定向输出
  • 输入重定向:
    在这里插入图片描述
  • 管道:|
    | 表示,上一条命令的输出,作为下一条命令参数(输入)
    在这里插入图片描述

(二)用户管理

1. 概述

Linux系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统,每个用户账号都拥有一个唯一的用户名和各自的口令,用户在登录时键入正确的用户名和口令后,就能够进入系统和自己的主目录。

用户信息存储目录:
/etc/passwd:存储所有用户登录名清单
/etc/group:存储有关本地用户组的信息
/etc/shadow:存储 Linux 系统中用户的密码信息(影子文件)
/home/username:用户的主目录
/etc/skel:默认的用户目录架构

2. 常用命令
  • 增加用户:
    useradd 用户名
    在这里插入图片描述
    登录用户:su - user1
    退出当前用户:logout/exit/Ctrl+d
  • 增加一个组:
    groupadd 组名
  • 删除一个组:
    groupdel 用户组
  • 增加一个用户放入指定的组中:
    useradd -g user1 user2
    在这里插入图片描述
  • 附加组:增加权限,将user1再附加到newgroup组中:
    usermod -G newgroup user1
  • 删除帐号
    userdel 用户名
  • 修改密码
    passwd
    普通用户修改自己的口令时,passwd命令会先询问原口令,验证后再要求用户输入两遍新口令,如果两次输入的口令一致,则将这个口令指定给用户;而超级用户为用户指定口令时,就不需要知道原口令。
    为了系统安全起见,用户应该选择比较复杂的口令,例如最好使用8位长的口令,口令中包含有大写、小写字母和数字,并且应该与姓名、生日等不相同。
  • chage命令:修改用户密码一些权限
    chage -m 30 -M 90 -W 7 -I 15 -E 2020-12-31 user1
    -m:设置密码前的最小天数
    -E:将帐户到期日期设置为EXPIRE日期
    -M:设置密码前的最大天数
    -W:设置警告天数
    -I:超过期限,预留的时间
    -d:设置上次密码的日期

(三)权限管理

1.概述
  • Linux的文件和目录有以下三种方式:
    r 、w 、x:可读,可写 、可执行
    r-可读(read)
    w-可写(write)
    x-可执行(execute)
  • 在Linux中,常用的文件类型为以下三种:
    d :目录 directory
    - : 二进制文件 binary
    l : 软链接文件 link
  • 如:-rw-r--r--. 1 root root 158 Jun 7 2013 /etc/hosts
    第一个字符表示:文件类型,2-4字符表示:文件所有人权限,5-7字符表示:文件所有组权限,8-10字符表示:其他人权限。
    所以上面可翻译:这是一个二进制文件,所有者可读可写 、不能执行,所属组可读 、不能写 、不能执行,其他人可读 、不可写 、不能执行,硬连接数为1,所有人为root,所有组为root,文件大小为158,创建时间或最后修改时间为Jun 7 2013,文件名为/etc/hosts。
2.chmod命令

改变文件或目录权限

  • 为了方便表示,linux用了一个很简单的方法来区别,拥有rwx哪个权限就为1,没有权限的为0;
r--即100换算为十进制即为4;
-w-即010换算为十进制即为2;
--x即001换算为十进制即为1
把他们对号入座:r - 4、 w - 2、 x - 1

第一个字符表示类型是目录,不考虑,接下来的三个三位数(r-xr-xr-x)就可以这么转换:(4+0+1)+(4+0+1)+(4+0+1)= 555,所以555能代表什么我们就知道了。

  • 数字转权限和权限转数字
    1)数字—>权限

如 764 :
7换算为二进制就是111,也就是4 、2 、1,即rwx;
6换算为二进制就是110,也就是4 、2 、0,即rw-;
4换算为二进制就是100,也就是4 、0 、0,即r- -;
所以764对应权限为: rwxrw-r--

如 654:
6:110,rw-;
5:101,r-x
4:100,r- -
所以654对应权限为:rw-r-xr--

2)权限—>数字
例如 drwxrw-r--: 第一位d代表类型,不参与计算,rwx=4+2+1=7,rw-=4+2=0=6, r-- = 4+0+0=4最终结果为764

3)演示:创建一个目录
在这里插入图片描述
初始值为:drwxrwxr-x :转化为数字的值为:775
我们将它权限修改为:drwxrwxr--,即chmod 774 dir:
在这里插入图片描述

(四)日志管理

1. 概述
  1. 日志目录:/var/log
  2. 日志分类
    系统日志(记录Linux内核消息及各种应用程序的公共日志信息):messages
    登录日志(登录信息):secure
    程序日志…
  3. 日志管理服务
    由/etc/rsyslog.conf文件管理,包括支持的功能模块(MODULES)、日志格式、规则(日志级别对应日志分类即哪些级别的日志被允许存储到哪些日志文件中)…
  • 服务名称:
authpriv:安全和认证相关的消息;
cron:系统定时任务cront和at产生的日志;
deamon:和各个守护进程相关的日志;
ftp:ftp守护进程产生的日志;
kern:内核产生的日志;
lpr:打印产生的日志;
mail:邮件收发信息;
news:新闻服务器相关;
user:用户类别日志信息...
  • 日志级别
等级由低到高:none<debug<info<notice<warning<error<critical<alert<emerg
  • 日志规则
*:代表所有日志等级,如:“authpriv.*”代表authpriv认证信息服务产生的日志,所有的日志等级都要记录;
“.”代表只要比后面的等级高的(包含该等级)日志都记录下来。比如:“ cron.info”代表cron服务产生的日志,只要日志等级大于等于info级别就记录;
2. 日志服务器搭建

日志的异地备份,为了防止有人恶意清除你的本地日志。

  1. 在你的本地日志管理服务文件中配置需要将哪些日志备份到日志记录服务器:我的主机为CentOS01(10.1.1.1),日志记录服务器CentOS02(10.1.1.2)
  2. 在我的主机的rsyslog.conf文件中配置:这里为将所有与身份验证相关的日志备份到10.1.1.2主机上:

在这里插入图片描述

  1. 关闭SELinux(Security-Enhanced Linux) 新安全子系统,并重启服务
[root@localhost ~]#setenforce 0
[root@localhost ~]#getenforce
Permissive
[root@localhost ~]#service rsyslog restart
  1. 配置日志服务器
    vim /etc/rsyslog.conf
开启这两个功能模块
$ModLoad imtcp
$InputTCPServerRun 514

编写接受日志模块
:from-ip,isequal,"10.1.1.1" /var/log/client/10.1.1.1.log

重启服务
service rsyslog restart

//下篇再见…谢谢
在这里插入图片描述

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值