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]
说明:本例中,输出了两个物理卷,它们不属于任何卷组,是可被利用的物理卷。
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:无改变
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:::
pwd
显示当前工作目录的绝对路径。
补充说明
pwd(英文全拼:print working directory) 命令用于显示用户当前所在的工作目录(以绝对路径显示)。
内建命令
概要
pwd [-LP]
选项
-L (默认值)打印环境变量"$PWD"的值,可能为符号链接。
-P 打印当前工作目录的物理位置。
返回值
返回状态为成功除非给出了非法选项或是当前目录无法读取。
注意
- 该命令是bash内建命令,相关的帮助信息请查看
help命令。
外部命令
概要
pwd [OPTION]...
主要用途
- 显示当前工作目录。
选项
-L, --logical 打印环境变量"$PWD"的值,可能为符号链接。
-P, --physical (默认值)打印当前工作目录的物理位置。
--help 显示帮助信息并退出。
--version 显示版本信息并退出。
返回值
返回状态为成功除非给出了非法选项或是当前目录无法读取。
注意
- 该命令是
GNU coreutils包中的命令,相关的帮助信息请查看man pwd或info coreutils 'pwd invocation'。 - 启动或关闭内建命令请查看
enable命令,关于同名优先级的问题请查看builtin命令的例子部分的相关讨论。 - 在不禁用内建且当前环境没有定义
pwd函数的情况下,使用/usr/bin/pwd指向coreutils的pwd,使用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 参数,显示的不是逻辑路径,而是连接(软连接)文件最终指向的文件
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
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)。
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:
quotaoff
关闭Linux内核中指定文件系统的磁盘配额功能
补充说明
quotaoff命令 用于关闭Linux内核中指定文件系统的磁盘配额功能。
语法
quotaoff(选项)(参数)
选项
-a:关闭在/etc/fstab文件里,有加入quota设置的分区的空间限制;
-g:关闭群组的磁盘空间限制;
-u:关闭用户的磁盘空间限制;
-v:显示指令执行过程。
参数
文件系统:指定要关闭磁盘配额功能的文件系统。
quotaon
激活Linux内核中指定文件系统的磁盘配额功能
补充说明
quotaon命令 执行quotaon指令可开启磁盘对用户和群组的空间使用限制,但在开启前,各分区的文件系统根目录必须存在通过quotacheck命令创建的quota配置文件。
语法
quotaon(选项)(参数)
选项
-a:开启在/ect/fstab文件里,有加入quota设置的分区的空间限制;
-g:开启群组的磁盘空间限制;
-u:开启用户的磁盘空间限制;
-v:显示指令指令执行过程。
参数
文件系统:指定要激活磁盘配额功能的文件系统。
rcconf
Debian Linux下的运行等级服务配置工具
补充说明
rcconf命令 是Debian Linux下的运行等级服务配置工具,用以设置在特定的运行等级下系统服务的启动配置。
语法
rcconf(选项)
选项
--help:打印帮助信息;
--dialog:使用对话命令显示菜单;
--notermcheck:不按照终端属性来设置窗口尺寸。