Linux Basics–part3

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

~]# who | cut -d” ” -f1 | sort -u

centos

ronny

root

~]# who | cut -d” ” -f1 | sort |uniq

centos

ronny

root

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

~]# who | tail -n 1

centos  pts/2        2017-07-27 23:35 (192.168.4.241)

~]# last -i | head  -n 1

centos  pts/2        192.168.4.241    Thu Jul 27 23:35  still logged in

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

~]# cat /etc/passwd |cut -d: -f7 |uniq -c |sort -n |tail -n 1

18 /sbin/nologin

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

[root@ronny1 ~]# cat /etc/passwd |sort -t: -k 3 -n|tail |tr ‘a-z’ ‘A-Z’ > /tmp/maxusers.txt

[root@ronny1 ~]# cat /tmp/maxusers.txt

SYSTEMD-BUS-PROXY:X:999:997:SYSTEMD BUS PROXY:/:/SBIN/NOLOGIN

RONNY:X:1000:1000:RONNY:/HOME/RONNY:/BIN/BASH

RONNY1.1:X:1001:1001::/HOME/RONNY1.1:/BIN/BASH

GENTOO:X:4004:4004::/USERS/GENTOO:/BIN/BASH

FEDORA:X:4005:4005::/USERS/FEDORA:/BIN/BASH

WWW:X:4006:4006::/USERS/WWW:/BIN/BASH

CENTOS:X:4007:4007::/HOME/CENTOS:/BIN/BASH

USER1:X:4008:4008::/HOME/USER1:/BIN/BASH

NOLOGIN:X:4009:4009::/HOME/NOLOGIN:/SBIN/NOLOGIN

NFSNOBODY:X:65534:65534:ANONYMOUS NFS USER:/VAR/LIB/NFS:/SBIN/NOLOGIN

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

~]# ifconfig |grep -E “^[[:space:]]” |cut -d” ” -f10 | head -n 1

192.168.4.240

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

~]# touch /tmp/etc.conf

~]# ll -a /etc/ |grep -E “\.conf$” | tr ‘a-z’ ‘A-Z’| tee /tmp/etc.conf

~]# cat /tmp/etc.conf

-RW-R–R–.  1 ROOT ROOT      55 11月  5 2016 ASOUND.CONF

-RW-R–R–.  1 ROOT ROOT    13386 11月  6 2016 AUTOFS.CONF

-RW——-.  1 ROOT ROOT      232 11月  6 2016 AUTOFS_LDAP_AUTH.CONF

-RW-R–R–.  1 ROOT ROOT    21929 11月  6 2016 BRLTTY.CONF

-RW-R–R–.  1 ROOT ROOT      676 11月  6 2016 CGCONFIG.CONF

……

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

~]# ll -a /var/ | wc -l

26

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

~]# cat /etc/group| sort -t: -k3 -n |head -n 10

root:x:0:

bin:x:1:

daemon:x:2:

sys:x:3:

adm:x:4:

tty:x:5:

disk:x:6:

lp:x:7:

mem:x:8:

kmem:x:9:

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

[root@ronny1 ~]# vim /etc/fatab

hello world!!

~]# cat /etc/fatab /etc/issue > /tmp/etc.test

~]# cat /tmp/etc.test

hello world!!

\S

Kernel \r on an \m

10、请总结描述用户和组管理类命令的使用方法并完成以下练习

groupadd命令:添加组

groupadd [选项] group_name

-g GID:指定GID;默认是上一个组的GID+1;

-r: 创建系统组;

groupmod命令:修改组属性

groupmod [选项] GROUP

-g GID:修改GID;

-n new_name:修改组名;

groupdel命令:删除组

groupdel [选项] GROUP

useradd命令:创建用户

useradd [选项] 登录名

-u, –uid UID:指定UID;

-g, –gid GROUP:指定基本组ID,此组得事先存在;

-G, –groups GROUP1[,GROUP2,…[,GROUPN]]]:指明用户所属的附加组,多个组之间用逗号分隔;

-c, –comment COMMENT:指明注释信息;

-d, –home

-s, –shell SHELL:指定用户的默认shell,可用的所有shell列表存储在/etc/shells文件中;

-r, –system:创建系统用户;

useradd -D:显示创建用户的默认配置;

useradd -D 选项: 修改默认选项的值;

usermod命令:修改用户属性

usermod [选项] 登录

-u, –uid UID:修改用户的ID为此处指定的新UID;

-g, –gid GROUP:修改用户所属的基本组;

-G, –groups GROUP1[,GROUP2,…[,GROUPN]]]:修改用户所属的附加组;原来的附加组会被覆盖;

-a, –append:与-G一同使用,用于为用户追加新的附加组;

-c, –comment COMMENT:修改注释信息;

-d, –home HOME_DIR:修改用户的家目录;用户原有的文件不会被转移至新位置;

-m, –move-home:只能与-d选项一同使用,用于将原来的家目录移动为新的家目录;

-l, –login NEW_LOGIN:修改用户名;

-s, –shell SHELL:修改用户的默认shell;

-L, –lock:锁定用户密码;即在用户原来的密码字符串之前添加一个”!”;

-U, –unlock:解锁用户的密码;

userdel命令:删除用户

userdel [选项] 登录

-r:删除用户时一并删除其家目录;

(1).创建组distro,其GID为2016;

~]# groupadd -g 2016 distro

~]# tail -n -1 /etc/group

distro:x:2016:

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

~]# useradd -u 1005 -g 2016 mandriva

id mandriva

uid=1005(mandriva) gid=2016(distro) groups=2016(distro)

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

~]# useradd -u 1100 -d /home/linux mageia

~]# tail -n 1 /etc/passwd

mageia:x:1100:1100::/home/linux:/bin/bash

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

~]# echo “mageedu” | passwd –stdin mageia

更改用户 mageia 的密码 。

passwd:所有的身份验证令牌已经成功更新。

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

~]# userdel mandriva

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

~]# useradd -u 2002 -g 2016 -G 5001 slackware

 ~]# id slackware

uid=2002(slackware) gid=2016(distro) 组=2016(distro),5001(peguin)

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

~]# usermod -s /bin/tcsh slackware

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

~]# groupadd admins

~]# usermod -aG admins slackware

[root@ronny1 ~]# id slackware

uid=2002(slackware) gid=2016(distro) 组=2016(distro),5001(peguin),5003(admins)

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

(0)
N27_ronnyN27_ronny
上一篇 2017-08-06
下一篇 2017-08-07

相关推荐

  • 第一周作业

    1、描述计算机的组成及其功能。
    2、按系列罗列Linux的发行版,并描述不同发行版之间的联系与区别。
    3、描述Linux的哲学思想,并按照自己的理解对其进行解释性描述。
    4、说明Linux系统上命令的使用格式;详细介绍ifconfig、echou、tty、startx、export、pwd、history、shutdown、poweroff、reboot、hwclock、date命令的使用,并配合相应的示例来阐述。
    5、如何在Linux系统上获取命令的帮助信息,请详细列出,并描述man文档的章节是如何划分的。
    6、请罗列Linux发行版的基础目录名称命名法则及共用规定。

    Linux干货 2017-12-03
  • DNS服务基础

    DNS服务:是一种工作在应用层的特定应用,也是.c/s架构模式的,DNS的是一种应用层协议,他的端口是UPD协议的53号端口,()根据应用场景不同也会用到tcp协议)这就意味着DNS是默认通过UDP协议进行通信的 我们访问任何一个网站都是通过主机名的方式进行访问的;例如www.baidu.com,这是个主机名.称之为FQDN(完全限定域名) 常见的顶级域中的…

    Linux干货 2016-11-07
  • 基于ansible role实现LAMP平台批量部署

    前言 作为运维人员,当面对几十台或上百台服务器需要修改某个参数或部署某个平台,你将从何入手呢?ansible的出现很好的解决了这一困扰,ansible基于Python开发,集合了众多运维工具(puppet、cfengine、chef、func、fabric)的优点,实现了批量系统配置、批量程序部署、批量运行命令等功能。本文带来的是基于Ansible Role…

    Linux干货 2015-06-11
  • 系统基础之shell脚本编程详解4(数组及字符串处理,变量赋值和配置文件)

    系统基础之shell脚本编程详解4(数组及字符串处理,变量赋值和配置文件)     今天来讲shell脚本编程的最后一些内容,数组及字符串处理,变量赋值和配置文件.这些内容也是我们经常在工作中使用到的知识点.下面让我们来详细了解下: 数组:   程序=指令+数据        &…

    Linux干货 2016-08-24
  • LVM-逻辑盘卷管理

    LVM   一、简介         LVM是逻辑盘卷管理(Logical Volume Manager)的简称,它是Linux环境下对磁盘分区进行管理的一种机制,LVM是建立在硬盘和分区之上的一个逻辑层,来提高磁盘分区管理的灵活性。   二、原理   &nb…

    Linux干货 2016-04-12
  • LINUX下的RPM应用

    一 前言 在进入RPM的应用前,关于可执行程序的一些基本知识有必要说明一下: 1 ABI:application binary interface,这是应用程序与系统间的协议,大家都知道同一个程序在不同的操作系统平台可能会无法执行,很大程度上就是因为ABI的不同,因此,对于可执行程序,选择对应操作系统平台是第一步 2 API:application prog…

    Linux干货 2017-04-17

评论列表(1条)

  • 马哥教育
    马哥教育 2017-08-20 19:06

    这次作业考察的是些基础的操作命令,熟练掌握,在以后的工作中会更加的得心应手。