Linux——文件管理和用户管理

文件管理

Linux的目录结构

  • Windows以多根的方式组织文件C:\ 、D:\、E:\ , Linux以单根的方式组织文件/ .
  • 目录结构:跳转到根目录,在终端输入ls,就可以查看根目录下的所有内容
[root@localhost Test]# cd /
[root@localhost /]# ls
bin  boot  dev  etc  home  lib  lib64  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var

在这里插入图片描述

  • bin: 存储执行命令
  • boot:启动目录
  • dev:硬件(键盘、鼠标、硬盘等)
  • etc:配置文件,控制台文件
  • home:用户自己的文件,存储不同普通 用户的文件
  • root:除了root账号和超级管理员其他账号不能查看。存放的是系统自带的一些文件夹,如图片、视频等,
    当我们使用超级管理员账号远程连接服务器的时候默认进入到的是root目录
  • run:运行文件
  • sbin:超管的执行命令
  • tmp:临时文件
  • usr:安装程序的目录(相当于windows的Program File)
  • var:存放日志或邮件等内容

文件类型

  • 普通文件:使用 - 表示,(文本文件,二进制文件,压缩文件,电影,图片…)
  • 目录文件:使用 d 表示,表示文件夹
  • 设备文件(块设备):使用 b 表示,存储设备硬盘。(U盘,/dev/sda,/dev/sda1)
  • 设备文件(字符设备):使用 c 表示(打印机,终端/dev/tty1)
  • 链接文件:使用 i 表示(淡蓝色)
  • 套接字文件:使用 s 表示
  • 管道文件:使用 p 表示

文件管理命令

  • ctrl + l : 清屏
  • ls:列出文件夹内容
    ls 后面可以跟着文件夹名(绝对路径/相对路径),如果不指定代表(./)列出当前文件夹内容
[root@localhost ~]# ls
anaconda-ks.cfg  initial-setup-ks.cfg  公共  模板  视频  图片  文档  下载  音乐  桌面

参数:
-l:列出文件的详细信息

[root@localhost ~]# ls -l
总用量 8
-rw-------. 1 root root 1514 9月  14 09:15 anaconda-ks.cfg
-rw-r--r--. 1 root root 1545 9月  14 09:21 initial-setup-ks.cfg
drwxr-xr-x. 2 root root    6 10月 12 08:08 公共
drwxr-xr-x. 2 root root    6 10月 12 08:08 模板
drwxr-xr-x. 2 root root    6 10月 12 08:08 视频
drwxr-xr-x. 2 root root    6 10月 12 08:08 图片
drwxr-xr-x. 2 root root    6 10月 12 08:08 文档
drwxr-xr-x. 2 root root    6 10月 12 08:08 下载
drwxr-xr-x. 2 root root    6 10月 12 08:08 音乐
drwxr-xr-x. 3 root root   18 10月 22 13:19 桌面

在这里插入图片描述-a:查看隐藏的文件

  • cd: 切换目录
    cd 绝对路径/相对路径
    eg:
    cd 绝对目录(以/开始的目录) cd /home/alice
    cd 相对目录 (以.或…开始的命令)cd …

  • pwd: 当前文件夹

  • touch:创建文件,后面可以有多个参数用空格分隔,代表同时创建多个文件
    touch 绝对路径/相对路径+文件名
    eg:

touch /aaa/bbb/ccc

表示在根目录下的aaa下的bbb中创建ccc文件

  • mkdir:创建文件夹
    mkdir 绝对路径/相对路径+文件夹名 (直接使用该命令时不能连续创建多个文件夹)
mkdir /aaa/bbb/ccc

表示在根目录下的aaa下的bbb中创建ccc文件夹

mkdir /aaa/bbb/{ccc,ddd}

表示在根目录下的aaa下的bbb中创建ccc文件夹和ddd文件夹

参数:
-p 父系,当创建目录没有上一级时,自动创建。允许连续创建多个文件夹

mkdir -p /a1/b1/c1

表示如果根目录下没有al文件夹,就直接在根目录下创建a1文件夹,里面有b1文件夹,再下面有c1文件夹。

-v 把创建文件的过程显示出来

  • cp 复制文件/文件夹
    cp 源文件夹/文件 目标文件夹
cp /home/a1/b1/c1/d1  /root/桌面/

表示将/home/a1/b1/c1文件夹下的d1复制到/root/桌面/文件夹下
参数:
-r: 表示将文件夹及文件夹下的所有内容都拷贝过去(拷贝文件夹的时候没有-r参数会报错)

cp -r /home/a1  /root/桌面/

表示将/home下的 a1文件夹下复制到/root/桌面/文件夹下

  • mv 移动文件/文件夹
    mv 源文件夹/文件 目标文件夹
mv /home/a1/b1/c1/d1  /root/桌面/

就是把home下a1下b1下c1下的d1文件移动到桌面上。

  • 移动并重命名
    mv 源文件夹/文件 目标文件夹/新文件夹的名字
mv /home/a1/b1/c1/d1  /root/桌面/d2

就是把home下a1下b1下c1下的d1文件移动到桌面上并重命名为d2

mv /root/桌面/d2 /root/桌面/d3

就是桌面上的d2文件重命名为d3

  • 删除
    rm 文件/目录的路径
    参数:
    -rf 强制删除
rm -rf /home/a1/b1/c1/d1

删除d1文件

rm -rf /home/a1

删除home下的a1文件夹

rm -rf /home/a1/*

删除home下的a1文件夹下的所有内容但是保留a1文件及
*是通配符可以匹配任意数字的任意字符
但是/* 并不会匹配隐藏文件(.开头的文件)

rm -rf /home/a1/b*

删除home下的a1文件夹下的所有以b开头的文件或文件夹删除

rm 后面可以有多个参数,以空格分开,代表同时删除

rm -rf /home/a1  /home/a2

表示删除home下的a1和a2文件
当然等效于rm -rf /home/a*

千万不要执行rm -rf /* 会删除所有文件。

  • cat 查看文件全部内容
    cat 文件路径名
cat /home/1,txt

会输出1.txt的内容

  • head 查看文件头部内容
    head -n 文件路径名 查看文件前n行内容
  • tail 查看文件尾部部内容
    tail -n 文件路径名 查看文件后n行内容
  • grep 通过关键字查看文件内容
    grep “leo” 文件路径名 查看文件后n行内容
    查看文件中leo开头的行
  • more 翻页查看文件所有内容
    cat 可以查看文件全部内容,但是文件过长的时候就直接显示到最后一行不利于查看,所以可以使用more进行翻页查看,会展示第一屏的内容,之后每输入一个回车符就展示下一行内容,每输入一个空格就展示下一屏内容
more /home/1.txt

会输出1.txt的内容

  • >
    可以正确执行的命令 > 文件地址/文件名 就可以将命令的输出结果填写到目标文件中。
  • gedit 图形文件编辑器
    以可视化的方式操作文件。
gedit 1.txt

创建1.txt文件,并以可视化记事本的方式打开文件进行操作。

  • 修改文件
    vi vim,这两个命令可以修改文件,vim是vi的升级版
    vim /1.txt 对1.txt文件进行编辑:
    i:输入i命令(insert)之后才可以对文件进行编辑,编辑完成之后点击esc按钮退出编辑模式
    :wq:保存并退出
    :w:只保存不退出
    :q:不保存直接退出
    :q!:强制不保存并直接退出
    :set nu:设置文本行号
    (:开头的命令是末行模式)
    yy : 复制一行数据
    nyy:从当前行开始向下复制n行数据
    p : 粘贴一行数据
    dd : 删除一行数据
    ndd:从当前行开始向下删除n行数据
    u:撤销上一步操作
    v:可视化模式,使用该模式可以实现部分选中的效果,在没有鼠标的情况下可以实现选中状态。按v之后使用上下左右键进行选中,选中之后点击y就可以只复制选中的区域,点击删除就可以删除选中的区域。可视化模式中使用y进行复制即可,注意光标闪烁的位置也是选中的内容。

  • 几种修改命令的区别
    除了i命令可以进入插入模式,a、o、A命令也可以进入插入模式。
    区别:i命令是在该位置插入
    o命令是在下一行进行插入
    A命令是在行末进行插入
    在这里插入图片描述

  • 光标定位
    kljh 上右下左
    0:光标移到行首
    $(shift+4): 光标移到行末
    gg:定位到页首
    G:定位到页尾
    nG:定位到第n行

  • 查找替换
    /要查找的字符串:查找指定字符串(相当于ctrl+f),n向下翻,N向上翻
    :行范围 s/原内容/新内容/全局

:1,5 s/aaa/bbb/g

该命令行的意思就是:将第一行到第五行的所有aaa换成bbb,g表示所有的都匹配替换

  • 另存为
    :w 另存为的目录
:w /tmp/aaa.txt

表示将文件另存为/tmp/aaa.txt

  • 设置环境
    :set nu:设置文本行号
    :set list:显示控制字符
    :set nonu:取消设置行号
  • 命令来源
    我们所学的cd、rm这些命令都属于shell命令集,shell命令集属于一个软件,他是一个命令解释器,作用是定义命令、接受命令、执行命令。shell命令有许多版本:ashell、bshell、bash
    在这里插入图片描述
    但是vim不是shell命令集的命令,它属于另一个软件的命令。

临时文件

当我饿们编辑的文件没有保存而意外关闭的时候,再次编辑该文件就会报如下内容

vim 1.txt

在这里插入图片描述
这是因为我们没有保存而退出的时候系统会自动为我们生成一个.1.txt.swap文件作为备份,存储修改未保存的内容,是一个隐藏文件。

  • 可以直接删除该文件(rm -rf .1.txt.swap)
  • 也可以接着上次修改未保存的内容进行操作,根据提示信息输入R,就可以接着上次的内容进行编辑。但是这个操作并不会删除.1.txt.swap文件,删除之后记得手动删除.1.txt.swap文件

相对路径

. 代表当前目录,不写点什么也不写也表示当前路径
.. 代表上一级目录

用户管理

用户/组的基本概念

1. 用户的作用

  • 常看当前登录的用户信息
  • 查看文件的所有者
  • 查看运行进程的username

2. 用户/组信息存储的文件

  • 用户基本信息文件
    /etc/passwd 该文件是用户的配置文件,包含各个用户的详细信息。
    每一条数据表示一个用户的信息,该文件包含7列(以分隔),每一列表示不同的意义:
用户名:x:uid:gid:描述:HOME:shell

– 用户名:登录系统的名字,不能重名
– x:密码占位符,具体的内容不在这里
– uid:用户的身份证号码。超管是0,系统用户是1-499,普通用户是1000+
操作系统也有一个自己的名字一般是STSTEM,分配的uid是500以内的。即机器人给自己授权的都是500以内的,给人授权的才是普通用户1000+
500-999为系统预留使用
– gid:Group的ID,组号
– 描述:账号的补充信息,如经理
– home:家目录,登录系统时的目录
(超管:/root ; 普通用户:/home/用户名)
– shell:登录的shell,命令解释器。/bin/bash 表示使用bash壳,如果不想要该用户登录系统,直接修改成 /bin/nologin
eg:

root : x : 0 : 0 : root : /root : /bin/bash
  • 用户密码信息文件
    /etc/shadow 该文件是各个用户的密码信息文件,但是该文件是加密文件。
    (注意每次加密出的结果都是不一样的)
root:$6$KXU6fMAhJT/oSQQL$hX9Ay50DUbotBJ.lRieLotPKNr1AxaxO5zy6kggRrHxjM26ckdCMx2iyH2eTLGnt9UWjAqcPnVj3c5oDigNSl/::0:99999:7:::

加密就是将明文加密成密文,即使数据被截获,攻击者也无法提取有效信息。
eg: 明文:320 , 密码333, 加密后的密文就是 853
当然除了明文和密码之外还有结合加密算法才能获取密文,上述的例子就是简单的加法运算,实际上有序度已经比较成熟的加密算法:MD5、DES、3DES、AES、DF散列对数(私钥、公钥)

shadow文件的每一条数据是由9列组成

用户名:密码:最后一次修改时间:最小时间间隔:最大时间间隔:警告时间:不活动时间:保留项

– 用户名:登录系统的名字,不能重名
– 密码:密码是加密后的密码
密码包括两部分密码前缀和密码值
密码前缀:

星号代表帐号被锁定,不能使用;
双叹号表示这个密码已经过期了。
$6$开头的,表明是用SHA-512加密的;
$1$表明是用MD5加密的
$2$是用Blowfish加密的
$5$是用SHA-256加密的

– 最后一次修改时间:
表示的是从某个时刻起,到用户最后一次修改口令时的天数。时间起点对不同的系统可能不—样。例如在SCOLinux中,这个时间起点是1970年1月1日。
– 最小时间间隔:后一次修改密码到前一次修改密码的最小时间间距,如果为0代表修改密码后当天可以修改,如果为5代表修改密码后5天后才可以再次修改。
– 最大时间间隔:密码可以保持有效的最大天数,超过该时间必须重新设置密码。——也叫令牌,如果是99999表示永久有效
– 警告时间:表示的是从系统开始警告用户到用户密码正式失效之间的天数。
– 不活动时间:表示的是用户没有登录活动但账号仍能保持有效的最大天数,一旦用户登绿系统重新计时。超过该天数系统自动禁用该用户。
– 失效时间:表示的是该账户的有效期,如果为30代表该账户30天后就不能用了,不管期间有没有登陆过该账户。
– 保留项:目前还没有定义

  • 组信息文件
    /etc/group 该文件是组信息文件

group 文件的每一条数据是由4列组成

组名:组密码:组ID:组成员

– 组名:组的名字
– 组密码:一般不配组密码,用x进行占位
– 组ID:组的ID
– 组成员:改组包含哪些成员

eg:

root:x:0:
bin:x:1:
daemon:x:2:

linux在创建用户的时候会同时创建一个同名组。

用户/组管理

用户管理

  • 创建用户
    useradd 用户名
    创建一个用户即创建一个账号,可以通过该账号登录系统
    useradd 用户名 -u 用户id 可以指定创建的用户的id
    useradd 用户名 -d 目录 可以指定创建的用户的家目录
    useradd 用户名 -g 组id 可以指定创建的用户的基本组id
    useradd 用户名 -G 组id 可以指定创建的用户的附加组id

  • 查看用户是否存在
    id 用户名
    在这里插入图片描述
    如果用户存在:
    uid是用户的id
    gid是组的id
    组是该用户所属的所有组,包括基本组和附加组。
    在这里插入图片描述
    用户BBB的基本组是BBB,附加组是CCC

  • 修改用户密码
    passwd 用户名
    如果passwd 后面不加用户名代表修改当前用户自己的密码。
    同时,只有超级管理员才可以修改所有用户的密码,普通用户只能需改自己的密码、
    在这里插入图片描述
    修改好密码之后,该用户就创建成功了,可以通过该用户登录系统。
    在这里插入图片描述
    创建完用户之后系统胡自动创建一个/var/spool/mail/user01文件用来存储用户的邮件信息。

  • 删除用户
    userdel -r 用户名
    -r 代表把家目录一起删除

  • 查看当前登录的用户
    whoami

[root@localhost mail]# whoami
root
  • 修改用户属性
    usermod -s shell命令 用户名
    表示使用shell命令修改用户的权限
    eg:
    禁止user01登录系统
usermod -s /sbin/nologin user01

usermod 用户名 -g 组id/组名 可以修改用户的基本组
usermod 用户名 -G 组id/组名 可以为用户添加附加组

  • 组操作
    usermod 用户名 -g 组id/组名 可以修改用户的基本组
    usermod 用户名 -G 组id/组名 可以为用户添加附加组
    gpasswd -d 用户名 组id/组名 可以为用户删除附加组,但是用户必须有一个组,基本组有且只有一个

用户组管理

用户和组和文件权限的关系:
不同的组拥有不同的文件权限,不同的用户分属不同的组从而获取不同的权限。

  • 添加用户组
    groupadd 组名
    创建完成之后可以在/etc/group中查看是否创建成功。
    在这里插入图片描述
    每列的信息含义:
组名:组密码:组ID:组成员

groupadd 组名 -g 组id创建组并设置组id

  • 查看用户组是否存在
    grep 组名 /etc/group

  • 删除组
    groupdel 组名

  • 修改组
    groupmod -g 修改后的id 需要修改的组id/组名:可以吧组的id进行修改

组的分类

对于用户而言,组可以分为基本组和附加组

  • 基本组:随用户创建而创建,组名同用户名的组,一般用g表示。基本组有且只有一个(一个用户必须有一个基本组)。 不同的用户的基本组可以是一样的。
    etc/passwd中用户对应的组就是基本组
  • 附加组:用户加入的除基本组外的组,一般用G表示。附加组可以有多个。

基本组,和附加组的区分是对用户而言的,如果一个组里面没有用户也就无所谓基本组和附加组了。

在这里插入图片描述
hr组对user02用户来说什么组也不是,因为user02不是hr组的成员。

提权

永久提权

根据用户提升权限:普通用户需要执行特殊指令时,没有特权,此时需要使用su切换到超管身份进行提权,提权后获取到的是目标用户的全部权限

su - 目标权限用户

su 目标权限用户

eg:执行su - root,之后输入root的密码,就可以提升为管理员权限。
此时执行exit命令就可以退出超管权限,回到普通用户身份。

exit

只要不输入exit命令,就可以一直使用该身份权限,所以说是永久提权。

临时提权

根据命令提升权限
普通用户需要执行特殊指令时,没有特权,此时需要使用su切换到超管身份进行提权,提权后获取到的是目标用户的部分权限。需要使用sudo命令进行临时提权

sudo的配置文件/etc/sudoers
配置文件中有如下内容:

@wheel  ALL=(ALL)  ALL

表示谁( @wheel )在什么机器上(ALL=(ALL))有什么权限(ALL),该句表示wheel组中的所有用户拥有所有权限。

提权步骤:

  • 首先需要将用户放在有对应权限的组中
    如在root账号中
useradd user1 -G wheel

表示创建user1用户并且放到wheel组中。

  • 执行sudo命令
    当我们使用创建好的user1用户登录,执行一些命令提示权限不够,这个时候我们需要输入sudo 命令进行临时提权,此时需要输入user1的密码进行身份验证,验证成功之后就可以执行命令。但是只对当前命令有效,每次临时提全都要输入sudo命令。

补充

IDC: 互联网数据控制中心
IDC中的服务器都是双电,一个是市电(城市供电系统),另一个是UPS(不间断供电系统),一旦市电停电,UPS就为服务器供电,同时用油机发电机为UPS供电。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值