Linux系统用户与用户组管理以及磁盘管理(3.6)

Linux系统用户与用户组

  1. /etc/passwd 与/etc/shadow(这两个文件尤其重要不可以删掉)
  • /etc/passwd(存储用户,如系统用户)
    该文件是一个纯文本文件,每行采用了相同的格式:name:password:uid:gid:comment:home:shell

#cat /etc/passwd | head // “|” 为管道符,作用是把前面的命令的输出再输入给后面的命令,输出前十行
root:x:0:0:root:/root:/bin/bash(6个“:”代表7个段,1、用户,2、x为密码,3、UID,4、GID,5、root详细信息,6、家目录,7、脚本,终端)

  • /etc/shadow(存放密码)

#cat /etc/shadow |head -n 3
root: 6 6 6QjkfxoVu…(9个段,主要两个段:1、用户名,2、用户密码)

  1. 用户和用户组管理
  • groupadd(新增组),格式为groupadd (-g GID) groupname(直接加用户组即可)

#groupadd grptest1
#tail -n1 /etc/group
grptest1:x:1003

若不加-g,则按照系统默认的gid创建组。gid是从500开始的。

#groupadd -g 1008 grptest2
#tail -n2 /etc/group
grptest1:x:1003:
grptest2:x:1008:

  • groupdel(删除组)

#groupdel grptest2
#tail -n2 /etc/group
user1:x:1002:
grptest1:x:1003:

特殊情况:若user1组中包含user1账户,只有删除user1账户后才可以删除该组

#groupdel user1
groupdel:不能移除用户 “user1”的主组

  • useradd(增加用户),格式为useradd (-u UID) (-g GID) (-d HOME) (-M) (-s)

-u:表示自定义UID
-g:表示是新增用户属于已经存在的某个组,后面可以跟组id,也可以跟组名
-d:表示自定义用户的家目录
-M:表示不建立家目录
-s:表示自定义shell

例:

#useradd test10
#tail -n1 /ect/passwd
test10:x:1002:1004::/home/test10:/bin/bash
#tail -n1 /ect/group
test10:x:1004:

若useradd不加任何选项,直接跟用户名,则会创建一个跟用户名同名的组

#useradd -u1005 -g 1006 -M -s /sbin/nologin user11
useradd: "1006"组不存在 //数字一定要存在
#useradd -u1005 -g 1004 -M -s /sbin/nologin user11
#useradd -u1006 -g grptest1 user12
tail -n2 /etc/passwd
user11:x:1005:1004::/home/user11:/sbin/nologin
user11:x:1006:1003::/home/user11:/bin/bash
# tail -n2 /etc/group
grptest1:x:1003:
test10:x:1004:

  • userdel(删除账户),格式为userdel (-r) username。-r:当删除用户时,一并删除该用户的家目录。
  • 使用chfn更改用户的finger,finger就是在/etc/passwd文件第五个字段中显示详细的信息。格式为chfn (用户)
  1. 用户密码管理
  • passwd(为用户设置密码),格式为passwd (username)//更改username的密码。该命令后面若不加用户名字,则是更改当前root密码。
  • mkpasswd(生成密码)(安全),要先安装expect。
    安装命令:

#yum install -y expect
#mkpasswd
HXut8oy*8

生成指定长度的密码:

#mkpasswd -l 12 // 生成12位长度的密码,按照特殊要求(大小写字母+数字+特殊符号)
#mkpasswd -l 12 -s o -d 3 //可以指定有几个字母,几个数字

  1. 用户身份切换
  • 修改用户密码passwd 用户
  • su (切换用户)(普通用户的su命令不加username = 切换到root用户),格式为su (-) username。加“-”时:会初始化当前用户的各种环境变量。

$pwd
/home/test
$su// 切换到root账户时,当前目录没变化(普通用户KaTeX parse error: Expected 'EOF', got '#' at position 9: ,而root的为#̲) `密码:` `#pwd` …su -//切换到root时,当前目录为root账户的家目录,即当root切换到普通用户时,时不需要输密码的密码:#pwd/root`

  • sudo(普通用户想用root的语句),普通用户想要使用sudo时,在root里用visudo来编辑相关文件

#visudo /etc/sudoers
root ALL=(ALL) ALL // 原来的
test ALL=(ALL) ALL //原来的下面加的 ,“ test”为普通用户名

注:用不了visudo的,需要先安装yum install -y sudo

  • 不允许root远程登录Linux

#vi /etc/ssh/sshd_config
找到#PermitRootLogin "yes"改成"no"
然后重启
systemctl restart sshd.service

Linux磁盘管理

  1. df(用于查看已挂载磁盘的总容量、使用容量、剩余容量等,可不加任何参数,默认以KB为单位显示)

#df
/dev、/dev/shm:内存分区,好处是读写非常快,坏处是系统重启时文件容易丢失。
其他分区为临时分区不用管

  • #df -i、h、k、m
    -i:表示查看inodes的使用情况,如已经使用100%,即使磁盘空间有富裕,也会提示磁盘已满

#df -i |grep -v tmpfs // grep -v 作用是过滤掉包含tmpfs字符串的行
文件系统 Inode 已用(I) 可用(I) 已用(I)% 挂载点
/dev/sda3 84300800 125075 8305005 2% /

-h:表示使用合适的单位显示,如GB。

#df -h |grep -v tmpfs
文件系统 容量 已用 可用 已用% 挂载点
/dev/sda3 17G 3.9G 13G 24% /

-k、-m:分别表示以KB和MB为单位显示

#df -k |grep -v tmpfs
#df -m |grep -v tmpfs

  • du(查看某个目录或文件所占空间的大小),格式为du (-abckmsh) (文件或目录名)
    -a:表示全部文件和目录的大小都列出来,若不指定单位,则默认单位 KB。

#du /tmp/test_mv //只显示了目录包括子目录的大小
0 du /tmp/test_mv/dirb/dirc

#du -a /tmp/test_mv
4 du /tmp/test_mv /dirb/filee//加了-a后多了的
0 du /tmp/test_mv/dirb/dirc

-b:表示列出的值以B为单位输出
-k:表示以KB输出,跟默认的一样
-m:表示以MB输出
-h:表示系统自动调节单位
-c:表示最后加总(就是会列出那些目录,最后算出个总用量)

#du -c /tmp/test_mv
0 du /tmp/test_mv/dirb/dirc
4 du /tmp/test_mv/dirb
4 总用量

-s:表示只列出总和(不列出目录,直接出总数)

#du -s /tmp/test_mv
4 /tmp/test_mv

2.磁盘的分区和格式化

  • 增加磁盘=硬盘:先关掉虚拟机,然后编辑该虚拟机,添加硬盘,然后一直默认选项就好,到这要改一下
    在这里插入图片描述
  • fdisk(划分小于2TB的分区)

1.fdisk -l //查看磁盘以及分区

#fdisk -l //直接列出系统中所有的磁盘设备以及分区表
#fdisk -l /dev/sdb //只列出该设备的分区表

2.fdisk (磁盘设备) //这样是修改该磁盘设备(输字母时要注意,不要乱按)

相关字母用法:
p:表示打印当前磁盘分区情况
n:表示建立一个新的分区
w:表示保存
q:表示退出
d:表示删除一个分区
m:寻求帮助(英文好的话可以看看)

例子:

#lsblk //查看有什么磁盘
#fdisk /dev/sdb//编辑磁盘
Command (m for help):p //显示分区表
Command (m for help):n //对磁盘进行分区
Partition type:
p primary (0 primary, 0 extended, 4 free) //主分区
e extended //e代表扩展分区
Select (default p):默认选择的是主分区,选择完成后按 Enter 键
Using default response p
Partition number (1-4, default 1):1(输入主分区号,默认选择是“1”)(然后按Enter键)
First sector (2048-104857599, default 2048):
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-104857599, default 104857599): +10G (创建分区的大小,字母单位一定要大写,前面一定要有“+”号)
Command (m for help): p(再查看一下)
Command (m for help): w(保存)
#fdisk -l(出来再看一下)

若创建4个主分区后,想再创建一个分区,则要删除第四个分区,再新建分区

例:(这里的分区4是不能用而且无法删除的,真正能用的是分区5)

先删除分区
Command (m for help):d //对磁盘进行删除
Partition number (1-4, default 1):4
Command (m for help):n
Partition type:
p primary (0 primary, 0 extended, 4 free) //主分区
e extended //e代表扩展分区
Select (default e):e
Command (m for help):p(发现扩展分区再最后一列显示Extended)
再继续创建分区
Command (m for help):n
添加逻辑分区 5
First sector (2048-104857599, default 2048):
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-104857599, default 104857599): +500M
Command (m for help):p

注:回到分区界面按“Ctrl+C”直接退出,就可以取消刚做的分区。
3.格式化磁盘分区

  • mke2fs (-biNcLjt): mke2fs不可以把分区格式化成XFS类型

-b:表示分区时设定每个数据区块占用的空间大小。
-i:表示设定的inode的大小
-N:表示设定的inode的数量
-c:表示在格式化前先检测一下磁盘是否有问题
-L:表示预设该分区的标签(label)
-j:表示建立ext3格式的分区。如使用mkfs.ext3格式就不用加这个
-t:用来指定文件系统的类型,可ext2、ext3、ext4

比较常用
例子:mke2fs -t 文件类型 磁盘分区化

#mke2fs -t ext4 /dev/vdb1= #mkfs.ext4 /dev/vdb1

  • mkfs.ext2、
  • mkfs.ext3、
  • mkfs.ext4、
  • mkfs.xfs

#mkfs.xfs /dev/vdb1

  • e2label(用于查看或修改分区的标签)

4.挂载/卸载磁盘

  • mount(挂载)

#mount
可看见相关挂载文件的东西

#mkdir /newdir //创建空目录
#touch /newdir/newfile.txt//在空目录里建空白文档
#ls /newdir/
# mount /dev/vdb1 /newdir//把格式化的/dev/vdb1挂载到newdir上
#ls /newdir/
#df -h //查看挂载情况

#umount /newdir/ //卸载挂载目录//可加挂载点和分区名

  • /etc/fstab配置文件:磁盘被手动挂载之后都必须把挂载信息写入/etc/fstab这个文件中,否则下次开机启动时仍然需要重新挂载。(凡是要挂载的,都要把他保存进去)

#cat /etc/fstab //查看挂载情况

  • blkid(获取全部磁盘分区的UUID)
    获取UUID后

#blkid /dev/vdb1
/dev/vdb1: LABEL="TEST123" UUID="一串东西" TYPE="ext4"

获取UUID 后,使用方法:

umount /newdir
mount UUID=“…” /newdir

UUID也是支持写到/etc/fstab中:

UUID=“..” /newdir ext4 defaults 0 0

若想让某个分区在开机后自动挂载,有两个方法:

#vi /etc/fstab
UUID=“..” /newdir ext4 defaults 0 0 //在该文件中添加这句

把挂载命令写到/etc/rc.d/rc.local文件中去 ,只要你把想要开机启动的命令都写进这个文件中(放到最后)即可。

  • swap(增加虚拟内存)

#dd if=/dev/zero of=/tmp/newdisk bs=1M count=1024//建立swapfile
#mkswap -f /tmp/newdisk//文件格式化
#free -m//就可以挂载使用

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值