本文的主要內容是:
1、列出當前系統上所有已經登錄的用戶的用戶名,注意:同一個用戶登錄多次,則只顯示一次即可。
2、取出最后登錄到當前系統的用戶的相關信息。
3、取出當前系統上被用戶當作其默認shell的最多的那個shell。
4、將/etc/passwd中的第三個字段數值最大的后10個用戶的信息全部改為大寫后保存至/tmp/maxusers.txt文件中。
5、取出當前主機的IP地址,提示:對ifconfig命令的結果進行切分。
6、列出/etc目錄下所有以.conf結尾的文件的文件名,并將其名字轉換為大寫后保存至/tmp/etc.conf文件中。
7、顯示/var目錄下一級子目錄或文件的總個數。
8、取出/etc/group文件中第三個字段數值最小的10個組的名字。
9、將/etc/fstab和/etc/issue文件的內容合并為同一個內容后保存至/tmp/etc.test文件中。
10、總結描述用戶和組管理類命令的使用方法以及一些具體的示例
1、列出當前系統上所有已經登錄的用戶的用戶名,注意:同一個用戶登錄多次,則只顯示一次:
who | cut -d" " -f1 | uniq
2、取出最后登錄到當前系統的用戶的相關信息。
last -n 1 | cut -d" " -f1 | head -1
3、取出當前系統上被用戶當作其默認shell的最多的那個shell
cat /etc/passwd | cut -d":" -f7 | uniq -c | sort -n | tail -1 | awk '{print $2}'
4、將/etc/passwd中的第三個字段數值最大的后10個用戶的信息全部改為大寫后保存至/tmp/maxusers.txt文件中。
cat /etc/passwd | sort -n -k 3 -t: | tr 'a-z' 'A-Z' >/tmp/maxusers.txt
5、取出當前主機的IP地址,提示:對ifconfig命令的結果進行切分。
ifconfig eth0 | egrep -o "inet addr:[^ ]*" | cut -d: -f2
6、列出/etc目錄下所有以.conf結尾的文件的文件名,并將其名字轉換為大寫后保存至/tmp/etc.conf文件中。
ls /etc/*.conf | tr 'a-z' 'A-Z' > /tmp/etc.conf
7、顯示/var目錄下一級子目錄或文件的總個數。
ls -l /var/* | wc -l
8、取出/etc/group文件中第三個字段數值最小的10個組的名字。
cat /etc/group | sort -n -k 3 -t: | head -10 | cut -d":" -f1
9、將/etc/fstab和/etc/issue文件的內容合并為同一個內容后保存至/tmp/etc.test文件中。
cat /etc/fstab /etc/issue >/tmp/etc.test
10、總結描述用戶和組管理類命令的使用方法以及一些具體的示例
Linux是一個多用戶操作系統,即同時支持多個用戶同時登錄到系統共同使用計算機資源,那么每個要登錄到計算機系統的唯一的標識就叫做一個用戶,這個唯一的標識實現了資源的隔離,使得多個用戶同時登錄到系統時不會導致系統的混亂,那么,當用戶過多時,對每個用戶的管理就會變得十分困難和繁瑣,于是,用戶組的作用就是實現對用戶的分組管理,使得對用戶的管理變得簡潔。而對于計算機來說,字符串并非是其擅長處理的,數字才是,所以每個用戶都有一個唯一的標識與用戶相對應的數字,叫做用戶或用戶組的id,類似人的身份證。但是并非每個人都有使用計算機資源的權利,因此,每個用戶想要登錄到系統還需要使用憑證,通俗來說就是需要所謂的密碼來登錄系統。而用戶登錄系統的整個過程則是根據/etc/passwd文件來實現驗證。那么對于管理 員來說,對系統上用戶的管理就顯得至關重要。
Linux中用戶有:管理員和普通用戶兩類:
管理員:也叫超級用戶,用戶id為0,擁有系統管理的最高權限
普通用戶:系統用戶和 登錄用戶:
系統用戶:centos6上用戶id是1-499,centos7上則是1-999;
登錄用戶:centos6上用戶id是500-60000,centos7則是1000-60000;
Linux上的用戶組:管理員組和普通用戶組:
管理員組:組id為0
普通用戶:分為系統用戶組和登錄用戶組
系統用戶組:centos6上組id為1-499,centos7上組id為1-999
登錄用戶組:centos6上組id是500-60000,centos7組id為1000-60000;’
常用的用戶管理命令有:
(1).查看系統上有多少個用戶:
cat /etc/passwd | wc -l
(2)查看每個用戶的用戶id和組id信息
id username
(3)useradd:添加用戶
語法:useradd [options] use_rname
常用選項:
-r:創建系統用戶,所謂的系統用戶就是系統剛啟動時還沒有用戶登錄時,很多服務進程需要啟動時必須以某個用戶的身份運行,而此類用戶就是系統用戶。
-u uid:創建用戶時指定用戶id
-g gid:創建用戶時指定用戶的基本組id
-G Group_name:創建用戶是指定附加組,多個組之間用逗號分隔
-d dir:創建家用戶時指定其家目錄
-s shell :創建用戶時指定其默認的shell
(4).groupadd:添加用戶組
語法:groupadd [options] group_name
常用選項:
-g gid:創建組時指定用戶組id,若不指定則在上一個組id的值加1
-r :創建系統組
(5).usermod:修改用戶屬性
語法:usermod [options] username
常用選項:
-u uid:修改uid為指定的id
-g gid:修改gid為指定的id
-G group_name:修改附加組
-m dir:修改家目錄為指定的目錄
-l login_name:修改登錄名
-s shell:修改用戶的默認shell
-L:鎖定指定的用戶
-U:對指定的用戶解鎖
(6).userdel:刪除用戶
語法:userdel [options] user_name
常用選項:
-r : 刪除用戶時同時刪除其家目錄
(7).passwd:修改用戶密碼
語法:passwd [options] user_name
常用選項:
-d : 清除用戶密碼串
-l:鎖定用戶
-S:查看指定用戶的密碼狀態信息
-u:對指定用戶解鎖
-e date:指定過期時間
-i :非活動時間
-n :密碼的最短使用期限
(8).gpasswd:管理用戶組
語法:gpasswd [options] group_name
常用選項:
-a username:將指定的用戶添加到指定組中
-d username:將指定用戶從指定的組中移除
使用示例:
(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;
echo "mageedu" | passwd –stdin mageia
(5)、刪除mandriva,但保留其家目錄;
userdel mandriva
(6)、創建用戶slackware,其ID號為2002,基本組為distro,附加組peguin;
useradd -u 2002 -g distro -G peguin slackware
(7)、修改slackware的默認shell為/bin/tcsh;
usermod -s /bin/tcsh slackware
(8)、為用戶slackware新增附加組admins;
usermod -G admins
(9)、為slackware添加密碼,且要求密碼最短使用期限為3天,最長為180天,警告為3天;
passwd -n 3 -x 180 -w 3 slackware
(10)、添加用戶openstack,其ID號為3003, 基本組為clouds,附加組為peguin和nova;
useradd -u 3003 -g clouds -G peguin,nova openstack
(11)、添加系統用戶mysql,要求其shell為/sbin/nologin;
useradd -r -s /sbin/nologin mysql
(12)、使用echo命令,非交互式為openstack添加密碼。
echo "openstack" | passwd openstack
原創文章,作者:zhangbao,如若轉載,請注明出處:http://www.www58058.com/49780
第五題其實如果主機有多個IP,這個地方只能取出來一個,可以嘗試多配置幾個都取出來。