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

相关推荐

  • Puppet学习之puppet的安装和配置

    一、Puppet简介 Puppet基于ruby语言开发的自动化系统配置工具,可以C/S模式或独立运行,支持对所有UNIX及类UNIX系统的配置管理,最新版本也开始支持对Windows操作系统有限的一些管理。Puppet适用于服务器管的整个过程 ,比如初始安装、配置更新以及系统下线。 二、Puppet的安装 Puppet的安装方式支持源码安装、yum安装以及r…

    2017-09-25
  • VIM命令 总结

    VIM命令总结

    2017-11-25
  • linux基础(一)

    初级运维的一些基本命令跟相应的作用。

    Linux笔记 2018-04-01
  • shell变量的浅谈

    变量本质上是存储数据的一个或多个计算机内存地址,变量的命令规则包括: 1) 不能使用程序中的保留字,如if, for 2) 变量由字母、下划线和数字组成,且不能以数字开头 3) 要求风名知义 4) 统一命名规则:驼峰命名法 变量主要分为本地变量、环境变量、局部变量、位置变量和特殊变量 (1)本地变量:只对当前shell…

    2017-08-05
  • Linux用户及文件权限管理

    Linux,用户,用户组,文件,权限

    Linux干货 2017-10-29
  • CentOS计划任务详解

    一、计划任务应用场景:        需要每天对服务器上的数据进行备份,但是白天服务器的访问量较大,服务器承受着较大的压力,备份任务只能在夜晚服务器较空闲时才能进行。或者需要临时在某时间点执行一个任务等,都需要用到计划任务的功能。 二、计划任务分类:    &…

    Linux干货 2016-09-09

评论列表(1条)

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

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