grep擴展應用
- 列出當前系統上所有已經登錄的用戶的用戶名,注意:同一個用戶登錄多次,則只顯示一次即可。
who | grep -o “^[^[:space:]]\+” | uniq - 取出最后登錄到當前系統的用戶的相關信息。
grep “$(last | grep -o “^[^[:space:]]\+” | uniq -1)” /etc/passwd - 取出當前系統上被用戶當作其默認shell的最多的那個shell。
echo $(cut -f7 -d’:’ /etc/passwd | sort | uniq -c | sort -rn | head -1) | cut -d ” ” -f2 - 將/etc/passwd中的第三個字段數值最大的后10個用戶的信息全部改為大寫后保存至/tmp/maxusers.txt文件中。
sort –t : -nk /etc/passwd | tail -10 | tr a-z A-Z &> /tmp/maxusers.txt - 取出當前主機的IP地址,提示:對ifconfig命令的結果進行切分。
ifconfig | grep -o “[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}” - 列出/etc目錄下所有以.conf結尾的文件的文件名,并將其名字轉換為大寫后保存至/tmp/etc.conf文件中。
ls -l /etc | grep -o “[[:alnum:]]\+.conf” | tr a-z A-Z &> /tmp/etc.conf - 顯示/var目錄下一級子目錄或文件的總個數。
ls -l /var | wc -l - 取出/etc/group文件中第三個字段數值最小的10個組的名字。
cat /etc/group | sort -rnk 3 -t: | tail | cut -d”:” -f1 - 將/etc/fstab和/etc/issue文件的內容合并為同一個內容后保存至/tmp/etc.test文件中。
cat /etc/fstab /etc/issue > /tmp/etc.test
用戶及組管理命令
useradd命令:添加用戶
規則:useradd [OPTION] USERNAME
示例:useradd –u 1000 testuser
常用選項:
-u:定義UID
-g:定義用戶的基本組
-c “”:添加用戶的注釋信息,comment
-d:指定用戶的家目錄
-s SHELL:定義用戶的默認shell
-G:定義用戶的一個或多個附加組,用逗號隔開,并且這些組必須已存在
-D:修改用戶的默認信息(其實是間接修改了/etc/default/useradd文件)
-s:修改用戶的默認shell信息
groupadd命令:創建組
規則:groupadd [OPTION] GROUPNAME
示例:groupadd –g 1000 testgroup1
常用選項:
-g GID:設定組的ID
-r:將此次創建的組設定為系統組
id命令:查看用戶信息
規則:id [OPTION] [USERNAME]
示例:id(輸出當前登錄用戶的各種信息,包括組,附加組,注釋等等信息)
常用選項:
-u:只顯示UID
-g:只顯示基本GID
-G:只顯示附加組ID
-n:顯示用戶的name(必須和以上三個參數一起配合用,不能單獨使用)
su命令:切換用戶或以另外用戶的身份運行命令
規則:su [OPTION] [-| l] [user]
示例:su – root(切換到root用戶,需要輸入root’密碼)
常用用法:
su USERNAME:非登錄式切換,不會讀取目標用戶的配置文件
su – USERNAME 或者su –l USERNAME:登錄式切換,重新以目標用戶的身份登錄
注意:root切換到其他用戶無需輸入密碼,其他用戶則需要輸入密碼,非登錄式切換也需要的喲
usermod命令:修改用戶的屬性
規則:usermod [OPTION] USERNAEM
示例:usermod –u 666 test01(將test01的UID修改為666)
常用選項:
-u UID:修改用戶UID
-g GID:修改用戶的基本組ID
-G group1,group2:為用戶修改或添加附加組
-s SHELL:修改用戶的shell
-c“comment”:修改用戶的注釋信息
-d /path/to/newhome:修改用戶的家目錄(原來的家目錄文件不會移至新目錄,除非加上-m選項)
-l newname:修改用戶的名稱為newname
-L:鎖定用戶
-U:解鎖已鎖定的用戶
-e +時間:設置用戶的過期時間
-f inactive:指定用戶的非活動期限
passwd命令:修改用戶的密碼
注意:root可以隨意修改任意用戶的密碼,普通用戶只能修改自己的密碼
規則:passwd [OPTION] UserName
示例:~]#:passwd test01(echo “string” | passwd –stdin test01)
常用選項:
-l:鎖定用戶
-u:解鎖用戶
-n mindays:指定最短的使用期限
-x maxdays:使用最大期限
-w warndays:提前多少天開始告警
-i inactive-days:非活動期限
–stdin:從標準輸入接收用戶密碼
echo “string” | passwd –stdin test01
注意:
/dev/null能夠接收任何內容,并將其丟棄
/dev/zero能夠連續不斷的輸出0信息
userdel命令:刪除用戶
規則:userdel [OPTION] USERNAME
示例:userdel test01
常用選項:
-r:刪除用戶的家目錄
groupmod命令:修改組屬性
規則:groupmod [OPTION] GROUPNAME
示例:groupmod –n mygrp yougrp
常用選項:
-n newname:修改組名
-g GID:修改組的GID
groupdel命令:刪除組,用法類似于userdel
gpasswd命令:用于用戶切換基本組
規則:gpasswd [OPTION] group
示例:gpasswd –a test01 mygrp
常用選項:
-a user:將user添加至指定組中
-d user:將user從組中刪除
-A user:將user設置為擁有組權限的組管理員
相關練習:
- 創建組distro,其GID為2016;
groupadd –g 2016 distro - 創建用戶mandriva, 其ID號為1005;基本組為distro;
useradd –u 1005 –g distro mandriva - 創建用戶mageia,其ID號為1100,家目錄為/home/linux;
useradd –u 1100 –d /home/linux mageia - 給用戶mageia添加密碼,密碼為mageedu;
echo “mageedu” | passwd –stdin mageia(在root用戶模式下) - 刪除mandriva,但保留其家目錄;
userdel mandriva - 創建用戶slackware,其ID號為2002,基本組為distro,附加組peguin;
useradd –u 2002 –g distro –G peguin slackware - 修改slackware的默認shell為/bin/tcsh;
usermod –s /bin/tcsh slackware - 為用戶slackware新增附加組admins; usermod –G admins slackware
本文來自投稿,不代表Linux運維部落立場,如若轉載,請注明出處:http://www.www58058.com/91391
練習基本上沒有什么問題,能熟練應用到日常的工作中最好~加油~