su命令,sudo命令,限制root远程登陆,df命令,du命令,磁盘分区
su命令
- su命令能够切换用户
- su - aming 就能够切换到aming用户
- 使用 su aming 也能够切换用户,可是不加 - 的话切换就不完全
- 若是不加 - 切换的话,并不会切换到aming用户的家目录下面,也不会加载aming用户的相关配置
- 要加 - 才会切换到aming的家目录下,加载全部aming用户的配置

- su - -c "touch /tmp/aming.111" aming 能够在不切换用户的状况下,以用户aming的身份,执行touch命令
- su - 表明切换aming的全部配置,- 表明shell环境,不加 - shell环境就不会切换到新用户的shell
- 这条命令里面,-c 参数就可使用这样的功能,-c后面接须要执行的指令,用双引号括起来
- 这样就能够不切换到aming用户的状况下,用aming用户的身份执行 touch指令

- 切换到user5用户,发现user5用户的shell不正常,以前建立这个用户的时候没有建立家目录,因此才这样
- 如今手动建立user5的家目录

- 首先建立一个/home/user5目录

- 而后使用 chown 将/home/user5/的全部者跟所属组改为user5跟user5组
- 这个时候仍是没有成功,由于,/home/user5目录内没有相关的配置文件
- 系统内部有一个模板目录,找到里面的模板并复制到user5目录里面去

- 如图,/etc/skel/就是系统的模板目录,查看里面的文件
- 发现有三个 .bash 开头的文件,使用命令 cp /etc/skel/.bash* /home/user5/
- 这样就把三个.bash文件复制到user5目录了, .bash* 表明.bash+任意字符
- 因此,.bash* 就表明了三个 .bash文件,使用这种写法,就能够把全部.bash开头的文件一块儿复制
- 而后用chown修改user5目录,加上-R参数,这样user5目录里的子文件子目录就跟user5的全部者和所属组一致了
- 符号 !$ 表明上一条命令的最后一个参数,chown上一条命令的最后一个参数是 /home/user5/

- 而后再切换到user5用户,就能够看到,user5的shell和家目录正常了
- 使用 su - 就能够从其余用户切换到root,可是要输入root密码
sudo命令
- sudo能够临时给普通用户受权root用户的身份,去执行命令
- 可使用 visudo 打开sudo的配置文件

- 打开sudu配置文件后,往下翻页,找到如图所示的这一行,能够在这里配置其它用户使用sudo命令时的权限

- 在root行下面能够写入新的用户信息,这里添加aming用户
- 第二列信息,ALL=(ALL)是固定写法,就照这样写就行了
- 第三列是命令信息,表明临时受权可使用哪些命令,若是写ALL就表明可使用全部命令
- 这里写三个命令,分别是ls,mv,cat三个命令,这里必须写三个命令文件的绝对路径,不能简写
- 这样使用sudo命令的时候,其它用户能够用root的身份使用ls,mv,cat三个命令了
- 而后 :wq 保存退出

- 上图 sudo /usr/bin/ls /root/ 也能够写 sudo ls /root/
- 第一次使用须要输入用户密码,之后就不须要输入密码了

- 如图所示,也能够在命令前面加上 NOPASSWD: 而后空格再写入命令文件的路径
- 这样使用sudo的时候,就不须要输入用户密码了

- 找到如图所示的位置,这里能够设置命令组合的别名
- 如图 Cmnd_Alias 是固定开头格式,AMING_CMD是自定义的别名,等号后面是命令文件路径
- 这样写了以后,AMING_CMD 就能够表明这三条命令

- 再回到下面写入用户权限那里,就能够把三条命令的路径信息删除,只写AMING_CMD就好了
- 由于AMING_CMD就包含了三条命令的路径信息,因此在这里写AMING_CMD和写路径信息时同样的效果
限制root远程登陆
- 由于root权限太大,root密码有被人盗取的风险,
- 因此直接用root密码远程登陆的话,一旦密码被人盗取,别人就能够直接以root的身份远程登陆主机,这样会有很大的风险
- 为了防止别人得到root密码直接远程登陆主机,就须要限制root远程登陆
- 这样就算别人得到密码,也不能远程登陆主机
- 限制了root远程登陆之后,为了可以以root身份远程操做主机
- 先要以普通用户身份远程登陆,而后使用sudo切换到root用户去
- 这样就先要在sudo配置文件里面对普通用户设置切换到root用户的权限

- 使用visudo打开配置文件,找到User Aliases 行
- 而后在下面设置一个user aliases 也就是用户别名,能够把几个不一样的用户设置进去
- 这样只要使用这个别名,就同时表明了设置进入的用户自己
- 如图所示,User_Alias 这是固定格式开头,而后 AMINGS是自定义别名
- 等号后面的 aming,user5,user6 就是设置进入这个别名的用户名称

- 而后找到添加用户权限的行,添加新的用户AMINGS,也就是说上面设置的用户别名
- 这个别名包含了三个真实用户,写在这里,就能够同时赋予这三个用户权限
- ALL=(ALL) 括号里面的ALL表明全部用户,固然也包括root用户
- 而后第三列,NOPASSWD: 设置无密码使用sudo,而后是 /usr/bin/su 文件路径
- 这样就赋予了AMINGS别名中包含的三个用户以root身份使用su命令的权限
- 也就是说,这三个用户在可使用su命令无需密码切换到root用户
- 由于在使用su命令时,这三个用户临时得到了root用户权限,因此切换root用户是不须要密码的
- 如今登陆这三个普通用户后,就可使用 sudo su - 来登陆root用户了
- 可是普通用户这样登陆root用户后,权限太大,能够直接修改root密码
- 因此须要作一些限制

- 修改上面这个配置文件就能够限制root远程登陆
- 进入配置文件后,输入 /Root 搜索Root关键字,而后就找到下面的行

- 上面显示的 PermitRootLogin yes 这一行就能够限制root远程登陆
- 能够看到这一行前面有一个井号 # ,这表示这一行是注释,不起做用
- 因此须要删除井号 # ,这样这一行就再也不是注释了,能够产生做用

- 而后把原来的 yes 改为 no , 这样就不容许root远程链接了

- 而后保存退出,改完配置文件后须要重启网络服务 systemctl restart sshd.service

- 远程链接服务器,能够看到输入密码后,仍是登录不了

- 如图,先用aming用户远程登陆,而后使用sudo su - root 就能够登陆root用户了
df命令
- df 能够查看文件系统磁盘空间信息

- 运行df后,出现上图信息
- 第一列是磁盘分区名称,第二列是磁盘总大小,单位是kb
- 第三列是已经使用的空间,单位是kb,第四列是还有多少剩余空间,单位也是kb
- 第五列是已用百分比,就是已经使用到的空间占总空间的百分比,须要重点关注
- 第六列是挂载点,linux不能直接访问磁盘,须要有挂载点,经过挂载点才能进入磁盘
- df -h 参数 -h 可使磁盘单位更好的显示,会显示MB,GB等单位
- 第一列文件系统,名称带 tmpfs 的说明是临时文件系统,在临时文件系统里面的文件重启后就会消失
- 挂载点,/dev/shm 表明内存,大小是物理内存的一半,若是想在内存写文件,能够放到这个目录里面
- 主要仍是关注名称为 /dev/ 的文件系统,临时文件系统通常不须要关注
- df 没法看到 swap 文件系统,须要使用 free 查看
- df -i 能够查看分区有多少个 inode 还有 inode 的使用状况

- inode 在格式化磁盘的时候,系统就会预先分配好
- inode 若是使用完了,即便磁盘还有空间,也是没法写入数据的
- df -m 参数 -m 可使磁盘单位显示为 MB
- 因此df经常使用参数主要是 -h,-i,-m
du命令
- du 能够查看文件大小
- du -sh 能够查看文件大小

- 若是只使用 du,如图 du /root/
- 那么会显示root还有root下面的子目录子文件的大小,并且不显示单位,默认单位是kb
- du -s /root 参数 -s 就能够只显示目录自己,不显示子文件子目录
- du -sh /root 参数 h 就能够显示单位大小,有 kb,MB,GB等
- du -sh /etc/passwd 和 ls -lh /etc/passwd 同一个文件大小不一致
- 由于du显示的是passwd文件占硬盘大小,单位是块,ls显示的是文件实际大小,单位是bit
- 有些文件数据就算不满一个块,也会占有一个块的位置,块的单位比bit大一些
- 因此一个文件占硬盘大小有时候会比实际文件大小大一些
磁盘分区
- 添加一个新的磁盘

- 虚拟机右键,点设置

- 点击添加

- 选择硬盘,而后下一步

- 保持默认设置,而后下一步

- 保持默认设置,而后下一步

- 磁盘大小设置为10GB,而后下一步

- 而后就点完成

- fdisk -l 显示目前系统内存在的磁盘
- 图片只显示了一块32.2GB 的磁盘,并无显示刚才建立的磁盘
- 须要reboot 重启一下
- 重启以后,再使用 fdisk -l 查看一下系统有没有识别新硬盘

- 能够看到,系统已经识别了新硬盘
- fdisk除了查看系统磁盘有哪些,还能够对磁盘进行分区
- 新硬盘的名称叫作 /dev/sdb,对新硬盘进行操做就须要用到这个名称

- 执行 fdisk /dev/sdb , 而后输入m获取帮助信息,以下图

- 其中比较经常使用的有:n , p , w , d 这四个命令
- n 是增长新分区,p 是列出来,w 是保存,d 是删除

- 使用 p 命令列出磁盘信息,发现没有任何分区

- 使用 n 命令新增一个分区
- 出现两个选择,选择分区类型,p表明主分区类型,e表明扩展分区类型,须要选择一个类型
- 用fdisk划分分区,用一种叫作 MBR 的格式来分区,MBR分区特色,最多支持2TB
- 超过2TB就不可使用fdisk来划分分区,MBR只能划分4个主分区(p分区),不能超过4个
- 若是想使用超过4个分区的话
- 能够划分3个p分区,划分一个e分区(扩展分区),而后在e分区里面划分逻辑分区,能够划分不少
- 总之,主分区加扩展分区数量之和,不能大于4

- 先建立一个主分区,输入 p 回车
- 选择分区号,能够从1-4里面选择一个号码,这里选择1
- 起始扇区默认从 2048 开始,直接回车就好了,2048就是硬盘上的位置
- 表示从硬盘上的 2048 位置开始分区
- Last扇区输入 +2G 而后回车
- 输入2G系统会自动计算,从2048位置开始日后增长位置,直到达到2GB硬盘空间为止
- 能够看到,大小为2G的分区就被建立了

- 输入p列出磁盘信息
- 能够看到,多出一行分区信息,名称sdb1,起始位置2048,id 83

- 删除分区可使用 d 命令,输入 d 回车
- 而后要求输入分区号码,想删除哪一个分区,就输入那个分区的分区号码,这里输入4
- 而后4号分区就被删除了

- 建立了四个分区,三个主分区,1个扩展分区
- 能够看到,主分区的id都是83,扩展分区的id是5,全部主分区id都固定是83,扩展分区固定为5
- 分区大小看 blocks 那一列,好比4号分区,大小是 4194304
- 后三位304的单位是kb,4194的单位是MB,若是从最前面的4开始计算,单位就是GB

- 已经满了4个分区,这时候再使用 n 命令,能够看到,只能添加逻辑分区
- 使用默认的起始扇区,直接回车
- last扇区输入 +1G 回车

- 使用p命令查看磁盘分区
- 能够看到多了一个分区,/dev/sdb5 id也是83
- 可使用 w 保存退出,也可使用 q 直接退出
- 区别是,q 直接退出的话,刚才全部的分区操做都不会保存
- 从新查看磁盘会发现磁盘没有被分区,若是使用 w 保存退出,分区操做才能够被保存

- 上图,sdb分了六个分区,从sdb1到sdb6
- 其中 sdb1,sdb2,sdb3是主分区,sdb4是扩展分区,sdb5,sdb6是逻辑分区

- 如图,先删除1号分区,分区号就是sdb后面跟的数字,1号分区就是sdb1
- 而后查看分区,发现sdb1被删除了

- 而后再删除一个逻辑分区,5号分区
- 而后再查看分区
- 发现6号分区不见了,5号分区还在
- 其实原来的5号分区已经删除,而原来的6号分区变成了5号分区
- 能够看 Start列 和 End列,这两列显示分区在硬盘上的开始和结束的位置
- 对面上面的图能够发现,如今分区5的开始和结束的位置与原来的分区6是同样的
- 这就证实如今的分区5就是原来的分区6

- 若是硬盘没有主分区,只有一个扩展分区的时候
- 使用 n 命令新建分区,能够看到,下面的两个选项改变了
- 原本是 p分区 和 e分区的,如今变成了 p分区 和 l分区(逻辑分区)了
- 若是创建主分区,分区号能够在1到4之间任意选择,相互不会有影响

- 若是创建逻辑分区,如图,分区号就会从5开始,1-4是属于p分区和e分区的
- 逻辑分区必定是从5号开始,并且是连续的
- 如图,扩展分区号是1号,主分区号是3号,互相不影响
- 可是逻辑分区从5号日后必定是连续的,中间不会留空
- 好比有 5,6,7 三个逻辑分区,而后把6号分区删除,那么7号分区会自动填补6号的位置变成6号分区
- 7号分区变成6号分区虽然名称变了,可是在硬盘的起始位置是不会变的
- 扩展分区只有分区号,是不能写入数据的,只有逻辑分区才占有真实的空间,才能够写入数据
- 因此创建扩展分区后,并不能直接在扩展分区里面存放文件
- 须要先在扩展分区里面创建逻辑分区,而后才能够在逻辑分区里面读写文件
欢迎关注本站公众号,获取更多信息