第三週

1、列出當前系統上所有已經登錄的用戶的用戶名,注意:同一用戶登錄多次,則只顯示一次即可。

who | cut -d" " -f1 | sort | uniq

image.png

2、取出最後登錄到當前系統的用戶的相關信息

finger  `who | tail -1 | cut -d" " -f1`
id `who | tail -1 | cut -d" " -f1`

image.png

3、取出當前系統被用戶當作其默認shell的最多的那個shell

cut -d ":" -f7 /etc/passwd | sort | uniq -c | sort -n | tail -1

image.png

4、將/etc/passwd/中的第三字段數值最大的後10個用戶的信息全部改爲大寫後保存至/tmp/maxuser.txt文件中。

 sort -t":" -k3 -n /etc/passwd |tail -10 | tr [a-z] [A-Z] >> /tmp/maxuser.txt

image.png

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

image.png

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)

image.png

8、取出/etc/group文件中第三個字段數值最小的10個組的名字

sort -t":" -k3 -n /etc/group | head -10 | cut -d":" -f1

image.png

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   當前登錄信息





發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章