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

相关推荐

  • 常用RAID级别介绍

    RAID是什么         磁盘阵列(Redundant Arrays of Independent Disks,RAID),磁盘阵列是将多个价格便宜的磁盘按照一定的组合方式组成具有高容量的磁盘组,按照不同的组合方式可以达到不同的效果,如:可以提升磁盘的存取效率,可提高磁盘的…

    Linux干货 2016-02-14
  • redis

    redis 简述 redis的数据结构 redis的数据持久化实现 程序与配置文件 redis-cli命令 主从复制原理与架构实现 redis的高可用方案 – sentinel redis分布式系统概述与简介 简述 什么是redis? redis是一个基于nosql技术的kv数据库,支持非常大的并发场景,与memcached不同的是,redis拥…

    Linux干货 2016-08-19
  • 初窥门径shell脚本

    1.什么是shell脚本    首先它是一个脚本,并不能作为正式的编程语言。因为是跑在linux的shell中,所以叫shell脚本。确切的说shell脚本就是一些命令的集合。 2.写脚本前的一些细节及建议   Shell脚本通常都是以.sh 为后缀名的,这个并不是说不带.sh这个脚本就不能执行,只是大家的一个习惯而已…

    Linux干货 2016-08-15
  • 故障排错

    破坏性试验修复

    2018-05-08
  • 简述一些基础指令

    tree命令 tree -L 1 -d /用来查看目录结构 -L 指定层数 -d 只查看目录 /boot 跟内核有关的文件 grub 内核和BootLoader ├── bin 存放用户使用的基本命令(可执行程序,二进制文件) 不能单独分区的 ├── boot 跟内核有关的文件 grub 内核和BootLoader&n…

    Linux干货 2017-04-03
  • 高级文件系统管理

    高级文件系统管理 配置配额系统 在内核中执行 以文件系统为单位启用 对不同组或者用户的策略不同 根据快或者节点限制,软限制 soft 硬限制hart 初始化 分区挂载选项 usrquota,grgquota 初始化数据库:quotacheck 执行配置 开启或者取消 quotaon ,quotaoff 直接编辑配额 edquota username 在she…

    Linux干货 2017-05-03

评论列表(1条)

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

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