1、列出當前系統上所有已經登錄的用戶的用戶名,注意:同一個用戶登錄多次,則只顯示一次即可。
[root@magedu ~]# who | cut -d’ ‘ -f1 | sort -u
root
2、取出最后登錄到當前系統的用戶的相關信息。
[root@magedu ~]# who | tail -1
root pts/3 2017-12-18 09:12 (192.168.10.1)
3、取出當前系統上被用戶當作其默認shell的最多的那個shell。
[root@magedu ~]# cut -d’:’ -f7 /etc/passwd | uniq -c | sort -n | tail -1
32 /sbin/nologin
4、將/etc/passwd中的第三個字段數值最大的后10個用戶的信息全部改為大寫后保存至/tmp/maxusers.txt文件中。
[root@magedu tmp]# cat passwd |sort -n -k 3 -t:| tail -n 10 | tr ‘a-z’ ‘A-Z’ >> ./maxuser.txt
5、取出當前主機的IP地址,提示:對ifconfig命令的結果進行切分。
[root@magedu tmp]# ifconfig | grep “inet ” | awk ‘{print $2}’
10.0.2.4
192.168.10.3
127.0.0.1
192.168.122.1
6、列出/etc目錄下所有以.conf結尾的文件的文件名,并將其名字轉換為大寫后保存至/tmp/etc.conf文件中。
[root@magedu ~]# ls /etc/ | grep -E “.conf$” |tr ‘a-z’ ‘A-Z’> /tmp/etc.conf
7、顯示/var目錄下一級子目錄或文件的總個數。
[root@magedu ~]# ls -l /var/ | grep “^d” | wc -l
19
8、取出/etc/group文件中第三個字段數值最小的10個組的名字。
[root@magedu ~]# sort -t”:” -k3 /etc/group | head -10 | awk -F ‘:’ ‘{print $1}’
root
bin
wheel
users
yinqiang
hadoop
qemu
cdrom
usbmuxd
mail
9、將/etc/fstab和/etc/issue文件的內容合并為同一個內容后保存至/tmp/etc.test文件中。
[root@magedu tmp]# cat ./{fstab,issue} > ./etc.test
10、請總結描述用戶和組管理類命令的使用方法并完成以下練習:
命令包括useradd、userdel、usemod、chfn、chsh、chage、passwd、groupadd、groupmod、groupdel、gpasswd、su
創建用戶
useradd等同于adduser,
命令格式:
useradd [options] UserName
命令參數:
-u UID:指定用戶的UID,如果不指定的話,就在最后一個用戶的基礎上+1,useradd創建的第一個賬號的UID為500;
-g GID:指定用戶的GID,即用戶的基本組ID,但是GID要實現存在才可以,也可以直接使用組名
-G GID:指定用戶的額外組,當時GID要實現存在才可以,也可以直接使用組名
-d 目錄:指定用戶的家目錄,這個家目錄最好是不要存在的文件夾,如果目錄已經存在,會出現shell環境變量錯誤
-c 備注:為用戶添加備注信息
-s shell:指定用戶的默認shell,應該指定使用/etc/shells文件中出現的shell類型
-m:創建用戶時,強制給用戶創建家目錄,默認情況下會在/home目錄下創建一個跟用戶名同名的文件夾來作為用戶的家目錄
-M:創建用戶時,不創建用戶家目錄
刪除用戶
userdel:用于刪除用戶,默認情況下會保留用戶的家目錄,如果想連家目錄一起刪除的話,應該使用-r選項
命令格式:
userdel [options] UserName
修改用戶的屬性信息
chsh:修改用戶的默認shell
chfn:修改用戶的備注信息,會依次輸入用戶的名稱、辦公地址、辦公電話、家庭電話
修改用戶的屬性信息
usermod:
命令格式
usermod [options] UserName
命令參數
-a :追加
-u UID:修改用戶的UID
-g GID:修改用戶基本組的GID,也可以直接使用基本組的組名
-G GID:修改用戶的額外組的GID,也可以直接使用基本組的組名,默認狀態下會覆蓋原有的附加組,如果想要添加附加組,請在該選項前加-a選項
-c string:修改用戶的備注信息
-d 目錄:默認不會遷移用戶的家目錄,如果要遷移,請以-m選項一起使用
-s shell:修改用戶的默認shell ,應該指定使用/etc/shells文件中出現的shell類型
-l 名稱:修改用戶的登陸名稱,但是不修改用的UID,GID
-e 時間:修改用戶的過期時間
-f 時間:修改用戶的非活動時間。
-L 用戶名:鎖定用戶賬號
-U 用戶名:將鎖定的用戶賬號進行解鎖
chage:修改用戶的日期屬性
-E:距離1970-1-1號的時間天數,過了這個時間,賬號不可訪問
-I: 設置非活動期限
-m:修改密碼最小使用時間
-M:修改密碼最長使用時間
-W:修改密碼警告時間
查看用戶的相關信息
id 查看用戶的id號
命令格式:
id [options] UserName
命令參數:
-n:只顯示名稱
-u:只顯示用戶的UID
-g:顯示用戶的基本在GID
-G:顯示用戶的額外組的GID
修改用戶密碼
密碼安全性策略:
1、足夠復雜
2、足夠長、盡量交叉使用數字、大寫字母、小寫字母和特殊字符
3、盡量避免使用易猜測的密碼:
4、定期更換
passwd 修改用戶的密碼
命令格式:
passwd [options] 用戶名
說明:普通用戶只能修改自身的密碼,管理員可以設定自身和所有普通用戶的密碼,在設定其他用戶密碼是直接使用passwd 用戶名即可
命令參數:
-l:鎖定用戶
-u:解鎖用戶
-n:設定用戶密碼的最少使用時間
-x:設定用戶密碼的最長使用時間
-w:設定用戶密碼的警告時間
-i:設定用戶密碼的非活動時間
/etc/passwd中的格式
用戶名:密碼占位符:UID:GID(基本組ID):用戶備注信息(多個以,隔開):家目錄:默認shell
/etc/shadow中的格式
用戶名:密碼:最近的一次密碼修改時間距離1970-1-1的時間:最短使用期限:最長使用期限:警告時間:非活動時間(登陸就要修改密碼):賬號的過期期限:預留段
組的管理:
用戶組分為普通組和管理員組,在用戶看來,組可以分為兩類:基本組和額外組,額外組也叫附加組,組的管理和用戶的管理基本類似。
(1)、創建組distro,其GID為2016;
[root@magedu tmp]# groupadd –gid 2016 distro
(2)、創建用戶mandriva, 其ID號為1005;基本組為distro;
[root@magedu home]# useradd -u 1005 -g distro mandriva
[root@magedu home]#
[root@magedu home]#
[root@magedu home]# ls
hadoop mandriva yinqiang
[root@magedu home]# id mandriva
uid=1005(mandriva) gid=2016(distro) groups=2016(distro)
(3)、創建用戶mageia,其ID號為1100,家目錄為/home/linux;
[root@magedu home]# useradd -u 1100 -d /home/linux mageia
[root@magedu home]# ls
hadoop linux mandriva yinqiang
[root@magedu home]# id mageia
uid=1100(mageia) gid=1100(mageia) groups=1100(mageia)
[root@magedu home]# cat /etc/passwd | grep mageia
mageia:x:1100:1100::/home/linux:/bin/bash
(4)、給用戶mageia添加密碼,密碼為mageedu;
[root@magedu home]# passwd mageia
Changing password for user mageia.
New password:
BAD PASSWORD: The password is shorter than 8 characters
Retype new password:
passwd: all authentication tokens updated successfully.
[root@magedu home]#
[root@magedu ~]# ssh mageia@192.168.10.3
(5)、刪除mandriva,但保留其家目錄;
[root@magedu home]# userdel mandriva
(6)、創建用戶slackware,其ID號為2002,基本組為distro,附加組peguin;
[root@magedu ~]# groupadd peguin
[root@magedu ~]# useradd slackware -u 2002 -g distro
[root@magedu ~]# usermod -aG peguin
(7)、修改slackware的默認shell為/bin/tcsh;
[root@magedu ~]# usermod -s /bin/tcsh slackware
(8)、為用戶slackware新增附加組admins;”
[root@magedu ~]# groupadd admins
[root@magedu ~]# usermod -aG admins slackware
[root@magedu ~]# id slackware
uid=2002(slackware) gid=2016(distro) groups=2016(distro),2017(peguin),2018(admins)
本文來自投稿,不代表Linux運維部落立場,如若轉載,請注明出處:http://www.www58058.com/90371
linux用戶的創建和管理很簡單,相反用戶的組管理是值得深入了解了,這個在多文件權限管理的場景中非常重要。