全新Linux+Python高端运维班-Linux用户创建及权限管理
第三周作业内容: 1、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。 1 2 3 4 [root@liu~] #who|cut-d''-f1|sort-u centos liu root 2、取出最后登录到当前系统的用户的相关信息。 1 2 3 4 5 6 第一种方式: [root@liu~] #last|head-n1 liutty8:2SunAug2110:26stilllogged in 第二种方式: [root@liu~] #who|tail-n1 liutty82016-08-2110:26(:2) 3、取出当前系统上被用户当作其默认shell的最多的那个shell。 1 2 [root@liuljohn] #cut-d:-f7/etc/passwd|uniq-c|sort-n|tail-n1 25 /sbin/nologin Note:/etc/passwd name:password:UID:GID:GECOS:directory:shell 4、将/etc/passwd 中的第三个字段数值最大的后10个用户的信息全部改为大写后保存至/tmp/maxusers.txt文件中。 1 2 3 4 5 6 7 8 9 10 11 12 [root@liuljohn] #sort-t:-k3-n/etc/passwd|tail-10|tr'a-z''A-Z'>/tmp/maxusers.txt [root@liuljohn] #cat/tmp/maxusers.txt RTKIT:X:499:497:REALTIMEKIT: /PROC : /SBIN/NOLOGIN LIU:X:500:500:LIUJIAN: /HOME/LIU : /BIN/BASH BASH:X:501:501:: /HOME/BASH : /BIN/BASH BASHER:X:502:502:: /HOME/BASHER : /BIN/BASH TESTBASH:X:503:503:: /HOME/TESTBASH : /BIN/BASH NOLOGIN:X:504:504:: /HOME/NOLOGIN : /SBIN/NOLOGIN USER1:X:505:505:: /HOME/USER1 : /BIN/BASH CENTOS:X:506:506:: /HOME/CENTOS : /BIN/BASH USERADD1:X:507:507:: /HOME/USERADD1 : /BIN/BASH NFSNOBODY:X:65534:65534:ANONYMOUSNFSUSER: /VAR/LIB/NFS : /SBIN/NOLOGIN 5、取出当前主机的IP地址,提示:对ifconfig命令的结果进行切分。 1 2 3 4 5 6 7 8 9 10 11 12 [root@liuljohn] #ifconfigeth1 eth1Linkencap:EthernetHWaddr00:0C:29:45:CC:5E inetaddr:192.168.188.21Bcast:192.168.188.255Mask:255.255.255.0 inet6addr:fe80::20c:29ff:fe45:cc5e /64 Scope:Link UPBROADCASTRUNNINGMULTICASTMTU:1500Metric:1 RXpackets:5871errors:0dropped:0overruns:0frame:0 TXpackets:2355errors:0dropped:0overruns:0carrier:0 collisions:0txqueuelen:1000 RXbytes:486015(474.6KiB)TXbytes:259218(253.1KiB) Interrupt:19Baseaddress:0x2000 [root@liuljohn] #ifconfigeth1|head-n2|tail-n1|cut-d:-f2|cut-d''-f1 192.168.188.21 6、列出/etc目录下所有以.conf结尾的文件的文件名,并将其名字转换为大写后保存至/tmp/etc.conf文件中。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 [root@liuljohn] #ls/etc/*.conf|tr'a-z''A-Z'>/tmp/etc.test [root@liuljohn] #cat/tmp/etc.test /ETC/ASOUND .CONF /ETC/AUTOFS_LDAP_AUTH .CONF /ETC/CAS .CONF /ETC/DNSMASQ .CONF /ETC/DRACUT .CONF /ETC/FPRINTD .CONF /ETC/GAI .CONF /ETC/GRUB .CONF /ETC/GSSAPI_MECH .CONF . . . 7、显示/var目录下一级子目录或文件的总个数。 1 2 [root@liuljohn] #ls/var|wc-l 21 8、取出/etc/group文件中第三个字段数值最小的10个组的名字。 1 2 3 4 5 6 7 8 9 10 11 [root@liuljohn] #sort-t:-k3-n/etc/group|head-10|cut-d:-f1 root bin daemon sys adm tty disk lp mem kmem 9、将/etc/fstab和/etc/issue文件的内容合并为同一个内容后保存至/tmp/etc.test文件中。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 [root@liuljohn] #cat/etc/fstab/etc/issue>/tmp/etc.test [root@liuljohn] #cat/tmp/etc.test # #/etc/fstab #CreatedbyanacondaonThuFeb1205:17:122015 # #Accessiblefilesystems,byreference,aremaintainedunder'/dev/disk' #Seemanpagesfstab(5),findfs(8),mount(8)and/orblkid(8)formoreinfo # UUID=3fcabd0f-e9fb-4618-918d-c9e004fe6a59/ext4defaults11 UUID=234cc62b-7746-477d-ad58-8fb2448b9788 /boot ext3defaults12 UUID=b2c5da64-87b4-44c0-8864-f4a006b824fcswapswapdefaults00 tmpfs /dev/shm tmpfsdefaults00 devpts /dev/pts devptsgid=5,mode=62000 sysfs /sys sysfsdefaults00 proc /proc procdefaults00 CentOSrelease6.5(Final) Kernel\ronan\m 10、请总结描述用户和组管理类命令的使用方法并完成以下练习: (1)、创建组distro,其GID为2016; 1 2 3 [root@liuljohn] #groupadd-g2016distro [root@liuljohn] #tail-1/etc/group distro:x:2016: (2)、创建用户mandriva, 其ID号为1005;基本组为distro; 1 2 3 [root@liuljohn] #useradd-u1005-g2016mandirva [root@liuljohn] #idmandirva uid=1005(mandirva)gid=2016(distro)组=2016(distro) (3)、创建用户mageia,其ID号为1100,家目录为/home/linux; 1 2 3 4 5 [root@liuljohn] #useradd-u1100-d/home/linuxmageia [root@liuljohn] #idmageia uid=1100(mageia)gid=1100(mageia)组=1100(mageia) [root@liuljohn] #tail-1/etc/passwd mageia:x:1100:1100:: /home/linux : /bin/bash (4)、给用户mageia添加密码,密码为mageedu; 1 2 3 [root@liuljohn] #echo"mageedu"|passwd--stdinmageia 更改用户mageia的密码。 passwd :所有的身份验证令牌已经成功更新。 (5)、删除mandriva,但保留其家目录; 1 2 3 4 5 [root@liuljohn] #userdelmandirva [root@liuljohn] #ls/home/ bash bashercentoslinuxliumandirvanologintestbashuser1useradd1 [root@liuljohn] #idmandirva id :mandirva:无此用户 (6)、创建用户slackware,其ID号为2002,基本组为distro,附加组peguin; 1 2 3 4 5 6 [root@liuljohn] #groupaddpeguin [root@liuljohn] #useradd-u2002-gdistro-Gpeguinslackware [root@liuljohn] #tail-1/etc/passwd slackware:x:2002:2016:: /home/slackware : /bin/bash [root@liuljohn] #idslackware uid=2002(slackware)gid=2016(distro)组=2016(distro),2017(peguin) (7)、修改slackware的默认shell为/bin/tcsh; 1 2 3 [root@liuljohn] #usermod-s/bin/tcshslackware [root@liuljohn] #tail-1/etc/passwd slackware:x:2002:2016:: /home/slackware : /bin/tcsh (8)、为用户slackware新增附加组admins; 1 2 3 4 5 6 7 8 9 10 11 [root@liuljohn] #sort-t:-k3-n/etc/group|head-10|cut-d:-f1 root bin daemon sys adm tty disk lp mem kmem (9)、为slackware添加密码,且要求密码最短使用期限为3天,最长为180天,警告为3天; 1 2 3 4 5 [root@liuljohn] #passwd-n3-x180-w3slackware 调整用户密码老化数据slackware。 passwd :操作成功 [root@liuljohn] #tail-1/etc/shadow slackware:!!:17034:3:180:3::: (10)、添加用户openstack,其ID号为3003, 基本组为clouds,附加组为peguin和nova; 1 2 3 4 5 [root@liuljohn] #groupaddclouds [root@liuljohn] #groupaddnova [root@liuljohn] #useradd-u3003-gclouds-Gpeguin,novaopenstack [root@liuljohn] #idopenstack uid=3003(openstack)gid=2019(clouds)组=2019(clouds),2017(peguin),2020(nova) (11)、添加系统用户mysql,要求其shell为/sbin/nologin; 1 2 3 [root@liuljohn] #useradd-s/sbin/nologinmysql [root@liuljohn] #tail-1/etc/passwd mysql:x:3004:3004:: /home/mysql : /sbin/nologin (12)、使用echo命令,非交互式为openstack添加密码。 1 2 3 4 [root@liuljohn] #echo"openstack"|passwd--stdinopenstack 更改用户openstack的密码。 passwd :所有的身份验证令牌已经成功更新。 [root@liuljohn] # 本文转自 ljohnmail 51CTO博客,原文链接:http://blog.51cto.com/ljohn/1840868,如需转载请自行联系原作者