Linux系统用户与用户组管理和Linux磁盘管理

关于/etc/passwd和/etc/shadow
/etc/passwd分割成7个字段
1.用户名
2.该账号的口令 (基于安全因素在/etc/passwd中用x代替,实际是放在/etc/shadow中
3.一个数字 代表用户标识号,也称uid(范围0~65535,实际已经可以支持到4294967294)。系统通过这个识别用户身份。这里的0为root.
4.数字,代表组标识号,也称gid。对应/etc/group中的一条记录。
5.注释说明,没有实际意义。可以使用chfn修改用户的一些属性。
6.用户的家目录 root的家目录是/root,普通用户的为/home/usename,可以自定义家目录
7.用户的shell shell是用户登录后,要启动一个进程,用来将用户下达的指令传给内核。Linux的shell有sh、csh、ksh、tcsh、bash等。centos的shell是bash。如果想建立一个不允许登录的账号,可以把/bin/bash改成/sbin/nologin。
/etc/shadow分割成9个字段
1.用户名
2.用户密码
3.上次更改文件的日期
4.需要经过多少时间才能改密码,默认是0,即不受限制
5.密码多少天后到期,即在多少天内必须更改密码,默认为99999
6.密码到期前的警告期限
7.账号失效期限
8.账号的生命周期
9.作为保留无意义
用户和用户组管理
建立一个用户组:groupadd grp1或者groupadd -g 1008 grp1(自定义gid)
删除组:groupdel grp1 当组里包含账户时需删除账户后才可以删除组
新建一个用户:useradd text1(-g后面跟一个不存在的gid会报错。加上-M选项则不建立家目录,但在/etc/passwd中仍有这个字段)
删除用户:userdel text1(加上-r可以在删除用户的同时一并删除该用户的家目录)
用户身份切换:普通用户与root用户的shell提示符号区别是root#,普通用户是$
命令passwd
用于设置用户密码,passwd 用户名,如果不加用户名是为自己设密码。如果登录的是root用户,后面可以跟普通账户的名字,修改制定账号的密码,例:passwd ljx1。只有root用户可以修改其他账户的密码,普通账户只能修改自己的密码。
命令mkpasswd
用于生成密码。安装的Linux默认没有这个命令,要安装一个expect软件包。需要生成指定长度的密码,可以mkpasswd。
例如:mkpasswd -l 12。还可以指定密码中有若干特殊字符或者数字。例如:mkpasswd -l 12 -s 0 -d 3(-s指定特殊字符个数,-d指定数字个数)
命令su
su [-] username 可以跟-也可以不跟-。普通用户su命令不加username时切换到root用户。root用户同理。加上-后会初始化当前用户的各种环境变量,root用户切换普通用户不需要输密码。
命令sudo
默认情况下只有root用户可以使用sudo命令,普通用户则需在root预先设定。可以使用visudo命令编辑相关的配置文件/etc/sudoers。没有用yum install -y sudo安装。
默认root支持sudo是因为这个文件中有一行root ALL=(ALL)ALL。在该行下加入text ALL=(ALL)ALL就可以让普通用户拥有sudo的特权。第二个ALL:所有主机,第三个是获取哪个用户的身份。
批量增加用户:把%wheel ALL=(ALL)ALL添加到文件中,表示wheel这个组的所有用户都拥有了sudo的权利,只需把需要sudo权限的用户加入到wheel这个组即可。
不允许root远程登录Linux
修改配置文件/etc/ssh/sshd_config,在文件中查找#PermitRootLogin yes然后修改为PermitRootLogin no,保存配置文件后需要重启sshd服务:systemctl restart sshd.service。(只适用通过ssh远程登录linux的情况)
磁盘管理
命令du
查看某个目录或文件所占空间的大小,例如:du /tmp/xx
还有几个常用参数
-a表示全部文件和目录的大小列出来。如果后面不加任何选项和参数,只会列出目录(包含子目录)的大小。如果du命令不指定单位的话,默认显示单位为“KB”。
-b表示列出的值以B为单位输出。
-k表示以KB为单位输出。和默认不加选项的输出值是一样的。
-m表示以MB为单位输出。
-h表示系统自动调节单位。
-c表示最后加总。
-s表示只列出总和。
命令df
用于查看已挂载磁盘的总容量、使用容量、剩余容量等,可以不加参数,默认以KB为单位显示。df命令有以下几个选项
-i表示inodes的使用情况
-h表示使用合适的单位显示
-k、-m表示以KB和MB为单位显示
命令fdisk
划分分区。但只能划分小于2TB的分区。
fdisk -l后面不加设备名称会直接列出系统中所有的磁盘设备以及分区表;加上设备名称则列出该设备的分区表。
fdisk不加-l选项则会进入另一个模式,在该模式下可以对磁盘进行分区操作。
m
p表示打印当前磁盘的分区情况
n表示建立一个新的分区
w表示保存
q表示推出
d表示删除一个分区
(由于本人电脑配置过低运行不了虚拟机这里不插图展示,抱歉)
格式化磁盘分区
磁盘分区分好但是还不能用,还需要对每一个分区进行格式化(安装文件系统)。centos7以XFS作为默认的文件系统,但依然可以指定ext3或ext4格式。
命令mke2fs、mkfs、ext2、mkfs.ext3、mkfs.ext4和mkfs.xfs
使用man查询前四个命令的帮助文档时都是同一个,所以这四个命令是一样的。
mke2fs为例,有如下选项:
-b表示分区时每个数据区块占用的空间大小。
-i表示设定inode的大小。
-N表示设定inode的数量。(默认的inode数不够用时需自定义inode的数量)
-c表示在格式化前先检测磁盘是否有问题。加上这个选项后,运行速度会非常慢
-L表示预设该分区的标签(label)
-j表示建立ext3格式的分区,如果使用mkfs.ext3这个格式,则不用加这个选项。
-t用来指定文件系统的类型。
磁盘在格式化的时候会预先定好每一个块的大小,再把所有的空间分割成一个一个的小块。存数据的时候也是一个块一个块地写入。如果指定的块值过大可以输入y强制格式化。
命令e2label
用于查看或修改的分区标签,只支持ext格式的文件系统,而不支持XFS文件系统。
挂载/卸载磁盘
格式化磁盘后需要挂载磁盘。在挂载某个分区前需要先建立一个挂载点(以目录形式出现),而且挂载点下必须是空目录。
命令mount
可以查看当前系统已经挂载的所有分区、分区文件系统的类型、挂载点及一些选项等信息。未挂载的分区用blkid命令可以查看。umount用来卸载分区,后面可以跟挂载点,也可以跟分区名,但是不能跟LABEL和UUID。有时遇到不能卸载的情况是因为当前目录还在卸载的分区上,这时候使用umount的-l选项可以强制卸载。
-a会把/etc/fstab中出现的所有磁盘分区都挂载上
-t用来指定挂载的分区类型,默认不指定,会自动识别
-o用来指定挂载的分区有哪些特性
/etc/fstab文件
这个文件显示了系统启动时需要挂载的各个分区。(无图见谅)
第一列表示分区的标识,可以写分区的LABEL、分区的UUID,也可以写分区名(/dev/sda1)。
第二列是挂载点。
第三列是分区的格式。
第四列是mount的一些挂载参数。一般情况下直接写defaults即可。
第五列的数字是表示是否被dump备份。1表示备份,0表示不备份。
第六列的数字表示开机时是否自检磁盘。1和2都表示检测(1比2优先级高,先检测1再检测2),0表示不检测。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值