1、列出當前系統上所有已經登錄的用戶的用戶名,注意:同一個用戶登錄多次,則只顯示一次即可。
[root@CentOS6 ~]# who|cut -d' ' -f1|sort -u root santi
2、取出最后登錄到當前系統的用戶的相關信息。
[root@CentOS6 ~]# who |tail -1 |awk '{print $1}'|xargs id uid=500(santi) gid=500(santi) 組=500(santi)
3、取出當前系統上被用戶當作其默認shell的最多的那個shell。
[root@CentOS6 ~]# cat /etc/passwd|cut -d':' -f7|sort|uniq -c|sort -n|tail -1|awk '{print $2}' /sbin/nologin
4、將/etc/passwd中的第三個字段數值最大的后10個用戶的信息全部改為大寫后保存至/tmp/maxusers.txt文件中。
[root@CentOS6 ~]# cat /etc/passwd |sort -n -t':' -k3|tail -10|tr [a-z] [A-Z] > /tmpmaxusers.txt [root@CentOS6 ~]# cat /tmpmaxusers.txt HSQLDB:X:96:96::/VAR/LIB/HSQLDB:/SBIN/NOLOGIN NOBODY:X:99:99:NOBODY:/:/SBIN/NOLOGIN USBMUXD:X:113:113:USBMUXD USER:/:/SBIN/NOLOGIN AVAHI-AUTOIPD:X:170:170:AVAHI IPV4LL STACK:/VAR/LIB/AVAHI-AUTOIPD:/SBIN/NOLOGIN ABRT:X:173:173::/ETC/ABRT:/SBIN/NOLOGIN PULSE:X:497:495:PULSEAUDIO SYSTEM DAEMON:/VAR/RUN/PULSE:/SBIN/NOLOGIN SASLAUTH:X:498:76:"SASLAUTHD USER":/VAR/EMPTY/SASLAUTH:/SBIN/NOLOGIN RTKIT:X:499:497:REALTIMEKIT:/PROC:/SBIN/NOLOGIN SANTI:X:500:500::/HOME/SANTI:/BIN/BASH NFSNOBODY:X:65534:65534:ANONYMOUS NFS USER:/VAR/LIB/NFS:/SBIN/NOLOGIN
5、取出當前主機的IP地址,提示:對ifconfig命令的結果進行切分。
[root@CentOS6 ~]# ifconfig | grep 'inet\b' | awk '{print $2}'|awk -F':' '{print $2}' 192.168.31.249 127.0.0.1
6、列出/etc目錄下所有以.conf結尾的文件的文件名,并將其名字轉換為大寫后保存至/tmp/etc.conf文件中。
[root@CentOS6 ~]# ls /etc | grep '\.conf$' | tr 'a-z' 'A-Z' > /tmp/etc.conf [root@CentOS6 ~]# cat /tmp/etc.conf ANT.CONF ASOUND.CONF AUTOFS.CONF AUTOFS_LDAP_AUTH.CONF CAS.CONF CGCONFIG.CONF CGRULES.CONF CGSNAPSHOT_BLACKLIST.CONF DNSMASQ.CONF ...
7、顯示/var目錄下一級子目錄或文件的總個數。
[root@CentOS6 ~]# ls -1 /var|wc -l 20
8、取出/etc/group文件中第三個字段數值最小的10個組的名字。
[root@CentOS6 ~]# cat /etc/group|sort -n -t':' -k3|head -10|awk -F':' '{print $1}' root bin daemon sys adm tty disk lp mem kmem
9、將/etc/fstab和/etc/issue文件的內容合并為同一個內容后保存至/tmp/etc.test文件中。
[root@CentOS6 ~]# cat /etc/{fstab,issue} > /tmp/etc.test [root@CentOS6 ~]# cat /tmp/etc.test # # /etc/fstab # Created by anaconda on Sun Jan 24 00:36:05 2016 # # Accessible filesystems, by reference, are maintained under '/dev/disk' # See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info # /dev/mapper/vg_centos6-lv_root / ext4 defaults 1 1 UUID=519cd07c-ef14-4cf6-94c2-1e025d029ffa /boot ext4 defaults 1 2 /dev/mapper/vg_centos6-lv_swap swap swap defaults 0 0 tmpfs /dev/shm tmpfs defaults 0 0 devpts /dev/pts devpts gid=5,mode=620 0 0 sysfs /sys sysfs defaults 0 0 proc /proc proc defaults 0 0 CentOS release 6.8 (Final) Kernel \r on an \m
10、請總結描述用戶和組管理類命令的使用方法并完成以下練習:
用戶:
創建用戶:
useradd [options] LOGIN
-u UID: [UID_MIN, UID_MAX], 定義在/etc/login.defs
-g GID:指明用戶所屬基本組,可為組名,也可以GID;
-c "COMMENT":用戶的注釋信息;
-d /PATH/TO/HOME_DIR: 以指定的路徑為家目錄;
-s SHELL: 指明用戶的默認shell程序,可用列表在/etc/shells文件中;
-G GROUP1[,GROUP2,…[,GROUPN]]]:為用戶指明附加組;組必須事先存在;
-r: 創建系統用戶
修改用戶:
usermod [OPTION] login
-u UID: 新UID
-g GID: 新基本組
-G GROUP1[,GROUP2,…[,GROUPN]]]:新附加組,原來的附加組將會被覆蓋;若保留原有,則要同時使用-a選項,表示append;
-s SHELL:新的默認SHELL;
-c 'COMMENT':新的注釋信息;
-d HOME: 新的家目錄;原有家目錄中的文件不會同時移動至新的家目錄;若要移動,則同時使用-m選項;
-l login_name: 新的名字;
-L: lock指定用戶
-U: unlock指定用戶
-e YYYY-MM-DD: 指明用戶賬號過期日期;
-f INACTIVE: 設定非活動期限;
刪除用戶:
userdel [OPTION]… login
-r: 刪除用戶家目錄;
組:
創建組:
groupadd [OPTION]… group_name
-g GID: 指明GID號;[GID_MIN, GID_MAX]
-r: 創建系統組;
修改組屬性:
groupmod [OPTION]… group
-n group_name: 新名字
-g GID: 新的GID;
刪除組:
groupdel GROUP
(1)、創建組distro,其GID為2016;
[root@CentOS6 ~]# groupadd -g 2016 distro
(2)、創建用戶mandriva, 其ID號為1005;基本組為distro;
[root@CentOS6 ~]# useradd -u 1005 -g distro mandriva
(3)、創建用戶mageia,其ID號為1100,家目錄為/home/linux;
[root@CentOS6 ~]# useradd -u 1100 -d /home/linux mageia
(4)、給用戶mageia添加密碼,密碼為mageedu;
[root@CentOS6 ~]# echo "mageedu" |passwd --stdin mageia 更改用戶 mageia 的密碼 。 passwd: 所有的身份驗證令牌已經成功更新。
(5)、刪除mandriva,但保留其家目錄;
[root@CentOS6 ~]# userdel mandriva
(6)、創建用戶slackware,其ID號為2002,基本組為distro,附加組peguin;
[root@CentOS6 ~]# groupadd peguin [root@CentOS6 ~]# useradd -u 2002 -g distro -G peguin slackware [root@CentOS6 ~]# id slackware uid=2002(slackware) gid=2016(distro) 組=2016(distro),2017(peguin)
(7)、修改slackware的默認shell為/bin/tcsh;
[root@CentOS6 ~]# grep slackware /etc/passwd slackware:x:2002:2016::/home/slackware:/bin/bash [root@CentOS6 ~]# usermod -s /bin/tcsh slackware [root@CentOS6 ~]# grep slackware /etc/passwd slackware:x:2002:2016::/home/slackware:/bin/tcsh
(8)、為用戶slackware新增附加組admins;
[root@CentOS6 ~]# groupadd admins [root@CentOS6 ~]# usermod -G admins -a slackware [root@CentOS6 ~]# id slackware uid=2002(slackware) gid=2016(distro) 組=2016(distro),2017(peguin),2018(admins)
(9)、為slackware添加密碼,且要求密碼最短使用期限為3天,最長為180天,警告為3天;
[root@CentOS6 ~]# echo "santi" |passwd --stdin slackware 更改用戶 slackware 的密碼 。 passwd: 所有的身份驗證令牌已經成功更新。 [root@CentOS6 ~]# chage -m 3 -M 180 -W 3 slackware [root@CentOS6 ~]# chage -l slackware 最近一次密碼修改時間 :7月 24, 2016 密碼過期時間 :1月 20, 2017 密碼失效時間 :從不 帳戶過期時間 :從不 兩次改變密碼之間相距的最小天數 :3 兩次改變密碼之間相距的最大天數 :180 在密碼過期之前警告的天數 :3
(10)、添加用戶openstack,其ID號為3003, 基本組為clouds,附加組為peguin和nova;
[root@CentOS6 ~]# groupadd clouds
[root@CentOS6 ~]# groupadd nova
[root@CentOS6 ~]# useradd -u 3003 -g clouds -G peguin,nova openstack
[root@CentOS6 ~]# id openstack
uid=3003(openstack) gid=2019(clouds) 組=2019(clouds),2017(peguin),2020(nova)
(11)、添加系統用戶mysql,要求其shell為/sbin/nologin;
[root@CentOS6 ~]# useradd -s /sbin/nologin mysql [root@CentOS6 ~]# grep mysql /etc/passwd mysql:x:3004:3004::/home/mysql:/sbin/nologin
(12)、使用echo命令,非交互式為openstack添加密碼。
[root@CentOS6 ~]# echo "santi" |passwd --stdin openstack 更改用戶 openstack 的密碼 。 passwd: 所有的身份驗證令牌已經成功更新。
原創文章,作者:sandiegoit,如若轉載,請注明出處:http://www.www58058.com/25794
寫的很好,排版還可以在漂亮一點,加油