N21-第3周 组用户相关作业

作业:

1、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。

[root@localhost ~]# who
root     pts/0        2016-07-23 16:15 (172.31.3.131)
root     pts/1        2016-07-26 18:42 (172.31.3.111)
root     pts/2        2016-07-26 18:42 (172.31.3.111)
root     pts/3        2016-07-26 20:20 (172.31.3.202)
[root@localhost ~]# who | cut -d' ' -f1 | sort -u
root

who 查询当前在线用户;

cut -d' ' 自定义以空格为分界字符;

-f1 获取第1列信息;

2、取出最后登录到当前系统的用户的相关信息。

[root@localhost ~]# lastlog | grep 'root'
root             pts/3    172.31.3.202     二  7月 26 20:20:33 +0800 2016

3、取出当前系统上被用户当作其默认shell的最多的那个shell。

[root@localhost ~]# cut -d: -f7 /etc/passwd | uniq -cd| sort -n
      2 /bin/bash
      4 /sbin/nologin
     10 /bin/bash
     11 /sbin/nologin
     27 /sbin/nologin
[root@localhost ~]# cut -d: -f7 /etc/passwd | uniq -cd| sort -n | tail -1
     27 /sbin/nologin

4、将/etc/passwd中的第三个字段数值最大的后10个用户的信息全部改为大写后保存至/tmp/maxusers.txt文件中。

[root@localhost ~]# cat /etc/passwd |sort -n -t':' -k3|tail -10|tr [a-z] [A-Z]
IORDER_MASTER:X:502:501::/HOME/IORDER_MASTER:/BIN/BASH
IORDER_APPSVR:X:503:501::/HOME/IORDER_APPSVR:/BIN/BASH
IMOBII_MNGSVR:X:505:501::/HOME/IMOBII_MNGSVR:/BIN/BASH
IMOBII_SIAGENT:X:507:501::/HOME/IMOBII_SIAGENT:/BIN/BASH
EXMOBI:X:509:501::/HOME/EXMOBI:/BIN/BASH
WAIQIN365_ZKAGENT:X:510:501::/HOME/WAIQIN365_ZKAGENT:/BIN/BASH
HADOOP:X:511:511::/HOME/HADOOP:/BIN/BASH
WAIQIN365_CISVR:X:512:512::/HOME/WAIQIN365_CISVR:/BIN/BASH
WAIQIN365_SWAPSVR:X:513:512::/HOME/WAIQIN365_SWAPSVR:/BIN/BASH
NFSNOBODY:X:65534:65534:ANONYMOUS NFS USER:/VAR/LIB/NFS:/SBIN/NOLOGIN
[root@localhost ~]# cat /etc/passwd |sort -n -t':' -k3|tail -10|tr [a-z] [A-Z] > /tmp/maxusers.txt
[root@localhost ~]# cat /tmp/maxusers.txt 
IORDER_MASTER:X:502:501::/HOME/IORDER_MASTER:/BIN/BASH
IORDER_APPSVR:X:503:501::/HOME/IORDER_APPSVR:/BIN/BASH
IMOBII_MNGSVR:X:505:501::/HOME/IMOBII_MNGSVR:/BIN/BASH
IMOBII_SIAGENT:X:507:501::/HOME/IMOBII_SIAGENT:/BIN/BASH
EXMOBI:X:509:501::/HOME/EXMOBI:/BIN/BASH
WAIQIN365_ZKAGENT:X:510:501::/HOME/WAIQIN365_ZKAGENT:/BIN/BASH
HADOOP:X:511:511::/HOME/HADOOP:/BIN/BASH
WAIQIN365_CISVR:X:512:512::/HOME/WAIQIN365_CISVR:/BIN/BASH
WAIQIN365_SWAPSVR:X:513:512::/HOME/WAIQIN365_SWAPSVR:/BIN/BASH
NFSNOBODY:X:65534:65534:ANONYMOUS NFS USER:/VAR/LIB/NFS:/SBIN/NOLOGIN

5、取出当前主机的IP地址,提示:对ifconfig命令的结果进行切分。

[root@localhost ~]# ifconfig
Auto_eth2 Link encap:Ethernet  HWaddr 00:15:5D:96:09:06  
          inet addr:172.31.3.73  Bcast:172.31.255.255  Mask:255.255.0.0
          inet6 addr: fe80::215:5dff:fe96:906/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:32786580 errors:0 dropped:0 overruns:0 frame:0
          TX packets:26763628 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:4332103279 (4.0 GiB)  TX bytes:6853811204 (6.3 GiB)
lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:13636923 errors:0 dropped:0 overruns:0 frame:0
          TX packets:13636923 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:3672136931 (3.4 GiB)  TX bytes:3672136931 (3.4 GiB)
[root@localhost ~]# ifconfig | grep 'inet addr'
          inet addr:172.31.3.73  Bcast:172.31.255.255  Mask:255.255.0.0
          inet addr:127.0.0.1  Mask:255.0.0.0
You have mail in /var/spool/mail/root
[root@localhost ~]# ifconfig | grep 'inet addr' | cut -d: -f2
172.31.3.73  Bcast
127.0.0.1  Mask
[root@localhost ~]# ifconfig | grep 'inet addr' | cut -d: -f2 | cut -d' ' -f1
172.31.3.73
127.0.0.1

6、列出/etc目录下所有以.conf结尾的文件的文件名,并将其名字转换为大写后保存至/tmp/etc.conf文件中。

[root@localhost etc]# ll /etc/*.conf | tr 'a-z' 'A-Z' > /tmp/etc.conf
[root@localhost etc]# cat /tmp/etc.conf 
-RW-R--R--. 1 ROOT ROOT   391  5月 20 2009 /ETC/ANT.CONF
-RW-R--R--. 1 ROOT ROOT   148  5月 15 2009 /ETC/ASOUND.CONF
-RW-------. 1 ROOT ROOT   232 12月  8 2011 /ETC/AUTOFS_LDAP_AUTH.CONF
-RW-R--R--. 1 ROOT ROOT  1780 10月 16 2009 /ETC/CAS.CONF
-RW-R--R--. 1 ROOT ROOT   812  9月 24 2011 /ETC/CGCONFIG.CONF
-RW-R--R--. 1 ROOT ROOT  1705  9月 24 2011 /ETC/CGRULES.CONF
……

7、显示/var目录下一级子目录或文件的总个数。

[root@localhost etc]# ls /var | wc -l      \\文件夹个数
23
[root@localhost etc]# ls -l /var | wc -l   \\文件夹及文件个数
24

8、取出/etc/group文件中第三个字段数值最小的10个组的名字。

[root@localhost etc]# cat /etc/group | sort -n -t':' -k3 | head -10
root:x:0:root,imobii_mngsvr,exmobi,waiqin365_zkagent,waiqin365_cisvr,waiqin365_swapsvr
bin:x:1:root,bin,daemon
daemon:x:2:root,bin,daemon
sys:x:3:root,bin,adm
adm:x:4:root,adm,daemon
tty:x:5:
disk:x:6:root,iorder_appsvr
lp:x:7:daemon,lp
mem:x:8:
kmem:x:9:
[root@localhost etc]# cat /etc/group | sort -n -t':' -k3 | head -10 | cut -d':' -f1
root
bin
daemon
sys
adm
tty
disk
lp
mem
kmem

9、将/etc/fstab和/etc/issue文件的内容合并为同一个内容后保存至/tmp/etc.test文件中。

[root@localhost etc]# cat /etc/{fstab,issue} > /tmp/etc.test
[root@localhost etc]# cat /tmp/etc.test 
#
# /etc/fstab
# Created by anaconda on Sat Jul 28 04:49:45 2012
#
# 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
#
UUID=9ad37bb1-8635-44c8-93e5-3d92c6284300 /                       ext4    defaults        1 1
UUID=382ac087-c798-42e5-b780-b12b58aab6bf /boot                   ext4    defaults        1 2
UUID=64f637b9-5744-419e-9863-e1c0b12d4af9 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.2 (Final)
Kernel \r on an \m

10、请总结描述用户和组管理类命令的使用方法并完成以下练习:
   (1)、创建组distro,其GID为2016;

[root@localhost etc]# groupadd -g 2016 distro

   (2)、创建用户mandriva, 其ID号为1005;基本组为distro;

[root@localhost etc]# useradd -u 1005 -g distro mandriva

   (3)、创建用户mageia,其ID号为1100,家目录为/home/linux;

[root@localhost etc]# useradd -u 1100 -d /home/linux mageia

   (4)、给用户mageia添加密码,密码为mageedu;

[root@localhost etc]# echo 'mageedu' | passwd --stdin mageia
更改用户 mageia 的密码 。
passwd: 所有的身份验证令牌已经成功更新。

   (5)、删除mandriva,但保留其家目录;

[root@localhost etc]# userdel mandriva

   (6)、创建用户slackware,其ID号为2002,基本组为distro,附加组peguin;

[root@localhost etc]# useradd -u 2002 -g distro -G peguin slackware
useradd: group 'peguin' does not exist
You have mail in /var/spool/mail/root
[root@localhost etc]# groupadd peguin
[root@localhost etc]# useradd -u 2002 -g distro -G peguin slackware
[root@localhost etc]# id slackware
uid=2002(slackware) gid=2016(distro) 组=2016(distro),2017(peguin)

   (7)、修改slackware的默认shell为/bin/tcsh;

[root@localhost etc]# grep slackware /etc/passwd
slackware:x:2002:2016::/home/slackware:/bin/bash
[root@localhost etc]# usermod -s /bin/tcsh slackware
[root@localhost etc]# grep slackware /etc/passwd
slackware:x:2002:2016::/home/slackware:/bin/tcsh

   (8)、为用户slackware新增附加组admins;

[root@localhost etc]# groupadd admins
[root@localhost etc]# usermod -G admins -a slackware
[root@localhost etc]# id slackware
uid=2002(slackware) gid=2016(distro) 组=2016(distro),2017(peguin),2018(admins)

   (9)、为slackware添加密码,且要求密码最短使用期限为3天,最长为180天,警告为3天;

[root@localhost ~]# echo "santi" | passwd --stdin slackware
更改用户 slackware 的密码 。
passwd: 所有的身份验证令牌已经成功更新。
[root@localhost ~]# chage -m 3 -M 180 -W 3 slackware
[root@localhost ~]# chage -l slackware
Last password change                                    : Jul 26, 2016
Password expires                                        : Jan 22, 2017
Password inactive                                       : never
Account expires                                         : never
Minimum number of days between password change          : 3
Maximum number of days between password change          : 180
Number of days of warning before password expires       : 3

   (10)、添加用户openstack,其ID号为3003, 基本组为clouds,附加组为peguin和nova;

[root@localhost ~]# groupadd clouds
[root@localhost ~]# groupadd nova
[root@localhost ~]# useradd -u 3003 -g clouds -G peguin,nova openstack
[root@localhost ~]# id openstack
uid=3003(openstack) gid=2019(clouds) 组=2019(clouds),2017(peguin),2020(nova)

   (11)、添加系统用户mysql,要求其shell为/sbin/nologin;

[root@localhost ~]# useradd -s /sbin/nologin mysql2
[root@localhost ~]# grep mysql2 /etc/passwd
mysql2:x:3004:3004::/home/mysql2:/sbin/nologin

   (12)、使用echo命令,非交互式为openstack添加密码。

[root@localhost ~]# echo "passwd" | passwd --stdin openstack
更改用户 openstack 的密码 。
passwd: 所有的身份验证令牌已经成功更新。

用户:
创建用户:
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

原创文章,作者:365,如若转载,请注明出处:http://www.178linux.com/26168

(0)
365365
上一篇 2016-07-27
下一篇 2016-07-27

相关推荐

  • 计算机浅谈及Linux简谈

    一、计算机浅谈: 电子计算机(英语:computer),亦称电脑,是一种利用电子学原理,根据一系列指令对数据进行处理的工具。 在现代,机械计算机的应用已经完全被电子计算机所替换,其所相关的技术研究叫计算机科学,而“计算机技术”指的是将计算机科学的成果应用于工程实践所派生的诸多技术性和经验性成果的总合。“计算机技术”与“计算机科学”是两个相关而又不同的概念,它…

    Linux干货 2016-11-29
  • glob及IO重定向

    globbing: 文件名通配     匹配模式:元字符           *:匹配任意长度的任意字符    pa* ,*pa* ,*pa,  *p*a*    pa, paa, passwd    ?:  …

    Linux干货 2016-12-21
  • 01

    0101

    Linux干货 2016-08-08
  • 高级文件系统管理2

    五、btrfs文件系统     技术预览版     Btrfs (B-tree, Butter FS, Better FS), GPL, Oracle,2007, CoW     核心特性:     …

    Linux干货 2016-09-09
  • Linux的主要发行版及区别

    Linux的主要发行版介绍 主流的发行版 Linux至上世纪90年代基于Unix而诞生,至今其发行版有几百种之多,但其主流的发行版有三个系列。 Debian系 Ubuntu属于Debinan系。 Redhat系CentOS属于Redhat系。Slackware系SUSE Linux即属于Slackware系。 主要区别 软件包管…

    Linux干货 2016-10-29
  • Linux程序包管理rpm、yum、源码编译

    概述:     众所周知,Linux操作系统本身,必须要借助额外的一些软件,才能完成某些应用的,操作系统如果没有应用程序的填充,就无法创造出生产力,这样即使再完美的操作系统,也毫无用处。那么本章就简要介绍一下Linux系统上对程序包的管理,分为以下三个部分:     1、程序包的…

    Linux干货 2016-08-24

评论列表(1条)

  • 马哥教育
    马哥教育 2016-07-27 11:10

    写的很好,排版也很棒,加油