- 管道命令符“|”的作用是將前一個命令的標准輸出作為后一個命令的標准輸入,格式為“命令A | 命令B”
以下實例中,通過grep命令搜索關鍵字“/sbin/nologin”在/etc/passwd中查找所有被系統限制登錄的的用戶,
通常的思路是
(1) 先找出被限制的用戶:grep "/sbin/nologin" /etc/passwd
(2) 計算行數:wc -l
而使用管道命令符則為:
grep "/sbin/nologin" /etc/passwd | wc -l
實例1:
[root@localhost ~]# grep "/sbin/nologin" /etc/passwd bin:x:1:1:bin:/bin:/sbin/nologin daemon:x:2:2:daemon:/sbin:/sbin/nologin adm:x:3:4:adm:/var/adm:/sbin/nologin lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin mail:x:8:12:mail:/var/spool/mail:/sbin/nologin operator:x:11:0:operator:/root:/sbin/nologin games:x:12:100:games:/usr/games:/sbin/nologin ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin nobody:x:99:99:Nobody:/:/sbin/nologin avahi-autoipd:x:170:170:Avahi IPv4LL Stack:/var/lib/avahi-autoipd:/sbin/nologin ods:x:999:998:softhsm private keys owner://var/lib/softhsm:/sbin/nologin pegasus:x:66:65:tog-pegasus OpenPegasus WBEM/CIM services:/var/lib/Pegasus:/sbin/nologin systemd-bus-proxy:x:998:996:systemd Bus Proxy:/:/sbin/nologin systemd-network:x:997:995:systemd Network Management:/:/sbin/nologin dbus:x:81:81:System message bus:/:/sbin/nologin polkitd:x:996:994:User for polkitd:/:/sbin/nologin sssd:x:995:993:User for sssd:/:/sbin/nologin colord:x:994:991:User for colord:/var/lib/colord:/sbin/nologin apache:x:48:48:Apache:/usr/share/httpd:/sbin/nologin tss:x:59:59:Account used by the trousers package to sandbox the tcsd daemon:/dev/null:/sbin/nologin unbound:x:993:990:Unbound DNS resolver:/etc/unbound:/sbin/nologin usbmuxd:x:113:113:usbmuxd user:/:/sbin/nologin abrt:x:173:173::/etc/abrt:/sbin/nologin saslauth:x:992:76:Saslauthd user:/run/saslauthd:/sbin/nologin libstoragemgmt:x:991:988:daemon account for libstoragemgmt:/var/run/lsm:/sbin/nologin geoclue:x:990:987:User for geoclue:/var/lib/geoclue:/sbin/nologin memcached:x:989:986:Memcached daemon:/run/memcached:/sbin/nologin rpc:x:32:32:Rpcbind Daemon:/var/lib/rpcbind:/sbin/nologin postfix:x:89:89::/var/spool/postfix:/sbin/nologin setroubleshoot:x:988:985::/var/lib/setroubleshoot:/sbin/nologin rtkit:x:172:172:RealtimeKit:/proc:/sbin/nologin chrony:x:987:984::/var/lib/chrony:/sbin/nologin mysql:x:27:27:MariaDB Server:/var/lib/mysql:/sbin/nologin qemu:x:107:107:qemu user:/:/sbin/nologin ntp:x:38:38::/etc/ntp:/sbin/nologin rpcuser:x:29:29:RPC Service User:/var/lib/nfs:/sbin/nologin nfsnobody:x:65534:65534:Anonymous NFS User:/var/lib/nfs:/sbin/nologin radvd:x:75:75:radvd user:/:/sbin/nologin named:x:25:25:Named:/var/named:/sbin/nologin pcp:x:986:983:Performance Co-Pilot:/var/lib/pcp:/sbin/nologin pulse:x:171:171:PulseAudio System Daemon:/var/run/pulse:/sbin/nologin hsqldb:x:96:96::/var/lib/hsqldb:/sbin/nologin pkiuser:x:17:17:Certificate System:/usr/share/pki:/sbin/nologin gdm:x:42:42::/var/lib/gdm:/sbin/nologin gnome-initial-setup:x:985:980::/run/gnome-initial-setup/:/sbin/nologin avahi:x:70:70:Avahi mDNS/DNS-SD Stack:/var/run/avahi-daemon:/sbin/nologin dovecot:x:97:97:Dovecot IMAP server:/usr/libexec/dovecot:/sbin/nologin dovenull:x:984:979:Dovecot's unauthorized user:/usr/libexec/dovecot:/sbin/nologin sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin oprofile:x:16:16:Special user account to be used by OProfile:/var/lib/oprofile:/sbin/nologin tcpdump:x:72:72::/:/sbin/nologin
現在用管道|合並執行計算符合條件的行數:
[root@localhost ~]# grep "/sbin/nologin" /etc/passwd | wc -l 51 [root@localhost ~]#
實例2: 用翻頁的形式查看/etc下有哪些目錄和文件
[root@localhost ~]# ls -l /etc/ | more
total 1672
drwxr-xr-x. 3 root root 97 Sep 6 16:24 abrt
-rw-r--r--. 1 root root 16 Sep 6 22:02 adjtime
drwxr-xr-x. 2 root root 112 Sep 6 21:55 akonadi
-rw-r--r--. 1 root root 1518 Jun 7 2013 aliases
-rw-r--r--. 1 root root 12288 Sep 6 13:07 aliases.db
drwxr-xr-x. 2 root root 49 Sep 6 21:51 alsa
drwxr-xr-x. 2 root root 4096 Sep 6 16:28 alternatives
drwxr-xr-x. 3 root root 43 Sep 6 21:56 amanda
-rw-------. 1 root root 541 Mar 31 23:09 anacrontab
-rw-r--r--. 1 root root 391 Jan 22 2014 ant.conf
drwxr-xr-x. 2 root root 6 Jan 22 2014 ant.d
-rw-r--r--. 1 root root 55 Sep 16 2014 asound.conf
-rw-r--r--. 1 root root 1 Jun 22 2015 at.deny
drwxr-xr-x. 2 root root 31 Sep 6 21:54 at-spi2
drwxr-x---. 3 root root 41 Sep 6 21:51 audisp
drwxr-x---. 3 root root 79 Sep 6 22:07 audit
-rw-r--r--. 1 root root 12706 Sep 17 2015 autofs.conf
-rw-------. 1 root root 232 Sep 17 2015 autofs_ldap_auth.conf
-rw-r--r--. 1 root root 795 Sep 17 2015 auto.master
drwxr-xr-x. 2 root root 6 Sep 17 2015 auto.master.d
-rw-r--r--. 1 root root 524 Sep 17 2015 auto.misc
-rwxr-xr-x. 1 root root 1260 Sep 17 2015 auto.net
-rwxr-xr-x. 1 root root 687 Sep 17 2015 auto.smb
drwxr-xr-x. 4 root root 94 Sep 6 16:24 avahi
drwxr-xr-x. 2 root root 4096 Sep 6 16:25 bash_completion.d
-rw-r--r--. 1 root root 2835 May 24 2015 bashrc
drwxr-xr-x. 2 root root 6 Aug 3 01:08 binfmt.d
drwxr-xr-x. 2 root root 41 Sep 6 21:47 bonobo-activation
drwxr-xr-x. 2 root root 12288 Sep 6 21:52 brltty
-rw-r--r--. 1 root root 21929 Oct 30 2014 brltty.conf
drwxr-xr-x. 2 root root 28 Sep 6 21:50 certmonger
-rw-r--r--. 1 root root 676 Sep 21 2014 cgconfig.conf
drwxr-xr-x. 2 root root 6 Sep 21 2014 cgconfig.d
-rw-r--r--. 1 root root 265 Sep 6 21:56 cgrules.conf
-rw-r--r--. 1 root root 131 Sep 21 2014 cgsnapshot_blacklist.conf
--more--
實例3:向pentest用戶發一封郵件
[root@localhost ~]# echo "test content" | mail -s "testmail" pentest [root@localhost ~]# su - pentest [pentest@localhost ~]$ mail Heirloom Mail version 12.5 7/5/10. Type ? for help. "/var/spool/mail/pentest": 1 message 1 new >N 1 root Thu Sep 8 10:56 18/624 "testmail" & 1 Message 1: From root@localhost.localdomain Thu Sep 8 10:56:32 2016 Return-Path: <root@localhost.localdomain> X-Original-To: pentest Delivered-To: pentest@localhost.localdomain Date: Thu, 08 Sep 2016 10:56:32 +0800 To: pentest@localhost.localdomain Subject: testmail User-Agent: Heirloom mailx 12.5 7/5/10 Content-Type: text/plain; charset=us-ascii From: root@localhost.localdomain (root) Status: R test content &
實例4:使用非交互式方式更改pentest用戶密碼為toor
[root@localhost ~]# echo "toor" | passwd --stdin pentest Changing password for user pentest. passwd: all authentication tokens updated successfully.