pvscan

pvscan

扫描系统中所有硬盘的物理卷列表

补充说明

pvscan命令 会扫描系统中连接的所有硬盘,列出找到的物理卷列表。使用pvscan命令的-n选项可以显示硬盘中的不属于任何卷组的物理卷,这些物理卷是未被使用的。

语法

pvscan(选项)

选项

-d:调试模式;
-e:仅显示属于输出卷组的物理卷;
-n:仅显示不属于任何卷组的物理卷;
-s:短格式输出;
-u:显示UUID。

实例

使用pvscan命令扫描当前系统中所有硬盘的物理卷,在命令行中输入下面的命令:

[root@localhost ~]# pvscan     #扫描所有硬盘上的物理卷 

输出信息如下:

PV /dev/sdb1         lvm2 [101.94 MB]  
PV /dev/sdb2         lvm2 [101.98 MB]  
Total: 2 [203.92 MB] / in use: 0 [0   ] / in no VG: 2 [203.92  
MB] 

说明:本例中,输出了两个物理卷,它们不属于任何卷组,是可被利用的物理卷。

2024-08-08    
pwck

pwck

用来验证系统认证文件内容和格式的完整性

补充说明

pwck命令 用来验证系统认证文件/etc/passwd/etc/shadow的内容和格式的完整性。

语法

pwck(选项)(参数)

选项

-q:仅报告错误信息;
-s:以用户id排序文件“/etc/passwd”和“/etc/shadow”;
-r:只读方式运行指令。

参数

  • 密码文件:指定密码文件的路径;
  • 影子文件:指定影子文件的路径。

实例

pwck /etc/passwd
user 'lp': directory '/var/spool/lpd' does not exist
user 'news': directory '/var/spool/news' does not exist
user 'uucp': directory '/var/spool/uucp' does not exist
user 'www-data': directory '/var/www' does not exist
user 'list': directory '/var/list' does not exist
user 'irc': directory '/var/run/ircd' does not exist
user 'gnats': directory '/var/lib/gnats' does not exist
user 'nobody': directory '/nonexistent' does not exist
user 'syslog': directory '/home/syslog' does not exist
user 'couchdb': directory '/var/lib/couchdb' does not exist
user 'speech-dispatcher': directory '/var/run/speech-dispatcher' does not exist
user 'usbmux': directory '/home/usbmux' does not exist
user 'haldaemon': directory '/var/run/hald' does not exist
user 'pulse': directory '/var/run/pulse' does not exist
user 'saned': directory '/home/saned' does not exist
user 'hplip': directory '/var/run/hplip' does not exist
pwck:无改变
2024-08-08    
pwconv

pwconv

用来开启用户的投影密码

补充说明

pwconv命令 用来开启用户的投影密码。Linux系统里的用户和群组密码,分别存放在名称为passwd和group的文件中, 这两个文件位于/etc目录下。因系统运作所需,任何人都得以读取它们,造成安全上的破绽。投影密码将文件内的密码改存在/etc目录下的shadow和gshadow文件内,只允许系统管理者读取,同时把原密码置换为"x"字符,有效的强化了系统的安全性。

语法

pwconv

实例

cat /etc/passwd | grep test
test:x:3001:3001::/home/test:/bin/sh

此时可以发现密码段是x

cat /etc/shadow | grep test
test:$6$nYOEWamm$bz07nlv/.RgJufb3FAqJJeULfwybzgxmrWqbk7O4vI0KsT6N.ujrh6dDIUcAJdfjksyuyAFDPIngZeD3cgcf.0:15022:0:99999:7:::
2024-08-08    
pwd

pwd

显示当前工作目录的绝对路径。

补充说明

pwd(英文全拼:print working directory) 命令用于显示用户当前所在的工作目录(以绝对路径显示)。

内建命令

概要

pwd [-LP]

选项

-L (默认值)打印环境变量"$PWD"的值,可能为符号链接。
-P 打印当前工作目录的物理位置。

返回值

返回状态为成功除非给出了非法选项或是当前目录无法读取。

注意

  1. 该命令是bash内建命令,相关的帮助信息请查看help命令。

外部命令

概要

pwd [OPTION]...

主要用途

  • 显示当前工作目录。

选项

-L, --logical 打印环境变量"$PWD"的值,可能为符号链接。
-P, --physical (默认值)打印当前工作目录的物理位置。
--help 显示帮助信息并退出。
--version 显示版本信息并退出。

返回值

返回状态为成功除非给出了非法选项或是当前目录无法读取。

注意

  1. 该命令是GNU coreutils包中的命令,相关的帮助信息请查看man pwdinfo coreutils 'pwd invocation'
  2. 启动或关闭内建命令请查看enable命令,关于同名优先级的问题请查看builtin命令的例子部分的相关讨论。
  3. 在不禁用内建且当前环境没有定义pwd函数的情况下,使用/usr/bin/pwd指向coreutilspwd,使用pwd指向bash内建的pwd

例子

查看当前所在路径

[root@localhost var]# pwd
/var

显示软连接文件最终指向的文件路径

[root@localhost ~]# cd /var/   # 进入/var目录,该目录下有个 mail 软连接文件
[root@localhost var]# ls -al
total 164
...
lrwxrwxrwx  1 root root   10 Oct 17  2015 mail -> spool/mail

[root@localhost var]# cd mail/   # 进入 mail 目录,mail 为连接文件。
[root@localhost mail]# pwd       # 默认,使用连接文件,直接显示连接文件全路径。
/var/mail

使用 -P 参数,显示的不是逻辑路径,而是连接(软连接)文件最终指向的文件

2024-08-08    
pwunconv

pwunconv

用来关闭用户的投影密码

补充说明

pwunconv命令 与pwconv功能相反,用来关闭用户的投影密码。它会把密码从shadow文件内,重回存到passwd文件里。

语法

pwunconv

实例

pwunconv     # 关闭影子密码
cat /etc/passwd | grep test     # 发现密码已经在passwd文件中了
test:$6$nYOEWamm$bz07nlv/.RgJufb3FAqJJeULfwybzgxmrWqbk7O4vI0KsT6N.ujrh6dDIUcAJdfjksyuyAFDPIngZeD3cgcf.0:3001:3001::/home/test:/bin/sh

ls /etc/shadow     # 查看影子文件,提示没有这个文件或目录
ls: cannot access /etc/shadow: No such file or directory
2024-08-08    
quota

quota

显示磁盘已使用的空间与限制

补充说明

quota命令 用于显示用户或者工作组的磁盘配额信息。输出信息包括磁盘使用和配额限制。

语法

quota(选项)(参数)

选项

-g:列出群组的磁盘空间限制;
-q:简明列表,只列出超过限制的部分;
-u:列出用户的磁盘空间限制;
-v:显示该用户或群组,在所有挂入系统的存储设备的空间限制;
-V:显示版本信息。

参数

用户或者工作组:指定要显示的用户或者工作组。

实例

我们可以限制某一群组所能使用的最大磁盘配额,而且可以再限制某一使用者的最大磁盘配额 ,好比做一个收费的应用,vip可以得到空间更大一些。另外,以 Link 的方式,来使邮件可以作为限制的配额(更改/var/spool/mail 这个路径),不2,需要重新再规划一个硬盘!直接使用 Link 的方式指向 /home (或者其它已经做好的 quota 磁盘)就可以!这通常是用在原本规划不好,但是却又不想要更动原有主机架构的情况中!

要求:Linux 主机里面主要针对 quser1 及 quser2 两个使用者来进行磁盘配额, 且这两个使用者都是挂在 qgroup 组里面的。每个使用者总共有 50MB 的磁盘空间 (不考虑 inode) 限制!并且 soft limit 为 45 MB;而宽限时间设定为 1 天, 但是在一天之内必须要将多余的文件删除掉,否则将无法使用剩下的空间 ;gquota 这个组考虑最大限额,所以设定为 90 MB!(注意,这样设置的好处是富有弹性,好比现在的邮件服务,那么多用户,承诺给用户每人最大空间为数GB,然而人们不可能每人都会使用那么大的空间,所以邮件服务的总空间,实际上肯定不是注册客户数乘以数GB,否则这样得多大啊。)

[root@localhost ~]# groupadd qgroup
[root@localhost ~]# useradd -m -g qgroup quser1
[root@localhost ~]# useradd -m -g qgroup quser2
[root@localhost ~]# passwd quser1
[root@localhost ~]# passwd quser2
[root@localhost ~]# df     ===>  自己找一个合适的分区来做实验,这里用/disk2
Filesystem             1K-blocks        Used      Available   Use% Mounted on
/dev/hda1              5952252   3193292     2451720     57%     /
/dev/hdb1            28267608       77904   26730604       1%     /disk2
/dev/hda5              9492644     227252     8775412       3%     /disk1

[root@localhost ~]# vi /etc/fstab
LABEL=/             /                ext3      defaults                                     1 1
LABEL=/disk1    /disk1        ext3      defaults                                      1 2
LABEL=/disk2    /disk2        ext3      defaults,usrquota,grpquota       1 2  
/dev/hda3         swap         swap     defaults                                     0 0

注意多了usrquota,grpquota,在defaults,usrquota,grpquota之间都没有空格,务必正确书写。这样就算加入了 quota 的磁盘格式了!不过,由于真正的 quota 在读取的时候是读取/etc/mtab这个文件的,而该文件需要重新开机之后才能够以/etc/fstab 的新数据进行改写!所以这个时候可以选择:重新开机 (reboot)。

2024-08-08    
quotacheck

quotacheck

检查磁盘的使用空间与限制

补充说明

quotacheck命令 通过扫描指定的文件系统,获取磁盘的使用情况,创建、检查和修复磁盘配额(quota)文件。执行quotacheck指令,扫描挂入系统的分区,并在各分区的文件系统根目录下产生quota.user和quota.group文件,设置用户和群组的磁盘空间限制。

如果在执行quotacheck命令时出现了以下信息:

quotacheck: Your kernel probably supports journaled quota but you are not using it. Consider switching to journaled quota to avoid running quotacheck after an unclean shutdown. 

可以考虑将之前在文件系统的配置文件中添加的quota相关字段修改为:usrjquota=aquota.user,grpjquota=aquota.group,jqfmt=vfsv1,然后重新挂载文件系统:mount -vo remount 挂载目录(注意,如果这一步操作出现了任何问题,千万不要试图通过重启解决!将配置文件恢复原状是一个好的选择)

语法

quotacheck(选项)(参数)

选项

-a:扫描在/etc/fstab文件里,有加入quota设置的分区;
-c:对目标文件系统进行一次新的扫描,并创建新的quota文件;
-d:详细显示指令执行过程,便于排错或了解程序执行的情形;
-g:扫描磁盘空间时,计算每个群组识别码所占用的目录和文件数目;
-R:排除根目录所在的分区;
-u:扫描磁盘空间时,计算每个用户识别码所占用的目录和文件数目;
-v:显示指令执行过程。

参数

文件系统:指定要扫描的文件系统。

实例

将所有的在/etc/mtab内,含有quota支持的partition进行扫描:

[root@linux ~]# quotacheck -avug
quotacheck: Scanning /dev/hdb1 [/disk2] done
quotacheck: Checked 3 directories and 4 files

强制扫描已挂载的filesystem:

[root@linux ~]# quotacheck -avug -m

扫描指定的filesystem:

2024-08-08    
quotaoff

quotaoff

关闭Linux内核中指定文件系统的磁盘配额功能

补充说明

quotaoff命令 用于关闭Linux内核中指定文件系统的磁盘配额功能。

语法

quotaoff(选项)(参数)

选项

-a:关闭在/etc/fstab文件里,有加入quota设置的分区的空间限制;
-g:关闭群组的磁盘空间限制;
-u:关闭用户的磁盘空间限制;
-v:显示指令执行过程。

参数

文件系统:指定要关闭磁盘配额功能的文件系统。

2024-08-08    
quotaon

quotaon

激活Linux内核中指定文件系统的磁盘配额功能

补充说明

quotaon命令 执行quotaon指令可开启磁盘对用户和群组的空间使用限制,但在开启前,各分区的文件系统根目录必须存在通过quotacheck命令创建的quota配置文件。

语法

quotaon(选项)(参数)

选项

-a:开启在/ect/fstab文件里,有加入quota设置的分区的空间限制;
-g:开启群组的磁盘空间限制;
-u:开启用户的磁盘空间限制;
-v:显示指令指令执行过程。

参数

文件系统:指定要激活磁盘配额功能的文件系统。

2024-08-08    
rcconf

rcconf

Debian Linux下的运行等级服务配置工具

补充说明

rcconf命令 是Debian Linux下的运行等级服务配置工具,用以设置在特定的运行等级下系统服务的启动配置。

语法

rcconf(选项)

选项

--help:打印帮助信息;
--dialog:使用对话命令显示菜单;
--notermcheck:不按照终端属性来设置窗口尺寸。
2024-08-08