1、列出當前系統上所有已經登錄的用戶的用戶名,注意:同一用戶登錄多次,則只顯示一次即可。
who | cut -d" " -f1 | sort | uniq
2、取出最後登錄到當前系統的用戶的相關信息
finger `who | tail -1 | cut -d" " -f1` id `who | tail -1 | cut -d" " -f1`
3、取出當前系統被用戶當作其默認shell的最多的那個shell
cut -d ":" -f7 /etc/passwd | sort | uniq -c | sort -n | tail -1
4、將/etc/passwd/中的第三字段數值最大的後10個用戶的信息全部改爲大寫後保存至/tmp/maxuser.txt文件中。
sort -t":" -k3 -n /etc/passwd |tail -10 | tr [a-z] [A-Z] >> /tmp/maxuser.txt
5、取出當前主機的IP地址,提示:對ifconfig命令的結果進行切分。
ifconfig wlan0 | egrep -o "inet[^0-9]{1,}([0-9]{1,3}.)+" | cut -d":" -f2 ifconfig wlan0 | head -2 |tail -1 |cut -d":" -f2 | cut -d" " -f1
6、列出/etc目錄下所有以.conf.結尾的文件,並將其名字轉換爲大寫後保存至/tmp/etc.conf文件中
find /etc/ -name "*.conf" -exec basename {} \; | tr [a-z] [A-Z] > /tmp/etc.conf
7、顯示/var目錄下一級目錄或文件的總個數
ls /var/ | wc -l (centos6) ls -d /var/ | wc -l (centos7)
8、取出/etc/group文件中第三個字段數值最小的10個組的名字
sort -t":" -k3 -n /etc/group | head -10 | cut -d":" -f1
9、將/etc/fstab和/etc/issue文件的內容合併爲同一個內容後保存至/tmp/etc.test文件中
cat /etc/fstab /etc/issue > /tmp/etc.test
10、總結描述用戶和組管理類命令的使用方法並完成以下練習:
(1)、創建組distro,其GID爲2016;
groupadd -g 2016 distro
(2)、創建用戶mandriva,其ID號爲1005,;基本組爲distro;
useradd -u 1005 -g distro mandriva
(3)、創建用戶mageia,其ID號爲1100,家目錄爲/home/linux;
useradd -u 1100 -d /home/linux mageia
(4)、給用戶mageia添加密碼,密碼爲mageedu;
passwd mageia
(5)、刪除mandriva,但保留其家目錄;
userdel mandriva
(6)、創建用戶slackware,其ID號爲2002,基本組爲distro,附件組peguin;
groupadd peguin useradd -u 2002 -g distro -G peguin slackware
(7)、修改slackware的默認shell爲/bin/tcsh;
usermod -s /bin/tcsh slackware
(8)、爲用戶slackware新增附加組admins;
groupadd admins usermod -a -G admins slackware
用戶和組管理類命令
(一)、創建
useradd 建立用戶帳號
-c<備註> 加上備註文字。備註文字會保存在passwd的備註欄位中。 -d<登入目錄> 指定用戶登入時的啓始目錄。 -D 變更預設值. -e<有效期限> 指定帳號的有效期限。 -f<緩衝天數> 指定在密碼過期後多少天即關閉該帳號。 -g<羣組> 指定用戶所屬的羣組。 -G<羣組> 指定用戶所屬的附加羣組。 -m 自動建立用戶的登入目錄。 -M 不要自動建立用戶的登入目錄。 -n 取消建立以用戶名稱爲名的羣組. -r 建立系統帳號。 -s<shell> 指定用戶登入後所使用的shell。 -u<uid> 指定用戶ID。
groupadd 用於添加組賬號
-f,--force 如果指定的組已經存在,此選項將失明瞭僅以成功狀態退出。當與-g一起使用,並且指定的GID_MIN已經存在時,選擇另一個唯一的GID(即-g關閉)。 -g,--gid GID 這個值必須是唯一的,除非使用-o選項。但必須是非負的。默認值是使用大於或等於GID_MIN的最小值,並且大於每個其他組。 -K,--key KEY=VALUE 重寫/etc/login.defs默認值(GID_MIN,GID_MAX和其他)。可以指定多個K選項。示例:-K GID_MIN=100 –KGID_MAX=499。注意:-K GID_MIN=10,GID_MAX=499不能工作。 -o,--non-unique 此選項允許添加一個非唯一的GID值。 -p,--password PASSWORD 爲新組使用此加密過的密碼。默認爲禁用密碼。注意:不推薦使用這個選項,因爲密碼(或加密過的密碼)會被用戶通過列出這個過程而看到。您應該確保密碼符合系統的密碼政策。 -r,--system 創建一個系統組。新的系統組數字標識符在SYS_GID_MIN到SYS_GID_MAX範圍內選擇,定義在login.defs中而不是GID_MIN到GID_MAX。 -R,--root CHROOT_DIR 將修改應用到CHROOT_DIR目錄,並使用配置
(二)、修改
usermod 修改用戶帳號的各項設定
-c<備註> 修改用戶帳號的備註文字。 -d登入目錄> 修改用戶登入時的目錄。 -e<有效期限> 修改帳號的有效期限。 -f<緩衝天數> 修改在密碼過期後多少天即關閉該帳號。 -g<羣組> 修改用戶所屬的羣組。 -G<羣組> 修改用戶所屬的附加羣組。 -l<帳號名稱> 修改用戶帳號名稱。 -L 鎖定用戶密碼,使密碼無效。 -s<shell> 修改用戶登入後所使用的shell。 -u<uid> 修改用戶ID。 -U 解除密碼鎖定
groupmod 更改羣組識別碼或名稱。
-g <羣組識別碼> 設置欲使用的羣組識別碼。 -o 重複使用羣組識別碼。 -n <新羣組名稱> 設置欲使用的羣組名稱
(三)、刪除
userdel 刪除用戶帳號
-r 刪除用戶登入目錄以及目錄中所有文件
groupdel 刪除羣組
groupdel 羣組名稱
(四)、密碼
passwd 更改使用者的密碼
-d 刪除密碼 -f 強制執行 -k 更新只能發送在過期之後 -l 停止賬號使用 -S 顯示密碼信息 -u 啓用已被停止的賬戶 -x 設置密碼的有效期 -g 修改羣組密碼 -i 過期後停止用戶賬號
gpasswd 更改羣組的密碼
-a:添加用戶到組 -d:從組刪除用戶 -A:指定管理員 -M:指定組成員和-A的用途差不多 -r:刪除密碼 -R:限制用戶登入組,只有組中的成員纔可以用newgrp加入該組
chage 修改密碼有效期
-m +天數 表示密碼可更改的最小天數。 -M +天數 表示密碼有效(可更改)的最大天數 -E +日期 表示在該日期之後密碼失效。 如chage -E 2017-1-20 zhangsan -l(小寫L) +用戶名 可以查看用戶的當前設置信息
(五)、切換
su 變更爲其他使用者的身份
su 用戶名 臨時切換用戶 su - 用戶名 模擬重新登錄切換用戶
newgrp 切換基本組
newgrp GROUPNAME 臨時切換基本組 newgrp – GROUPNAME 模擬重新登錄切換基本組
(六)、查看
id 顯示用戶真實和有效id信息
finger 用戶信息
(七)、其他
chsh 修改shell
chfn 修改finger信息
whoami 當前登錄信息