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)
上一篇 2017-08-06 23:19
下一篇 2017-08-07 02:18

相关推荐

  • Centos7上安装Ansible和基础应用

    Ansible 简介 ansible是个什么东西呢?官方的title是“Ansible is Simple IT Automation”——简单的自动化IT工具。这个工具的目标有这么几项:自动化部署APP;自动化管理配置项;自动化的持续交互;自动化的(AWS)云服务管理。所有的这几个目标从本质上来说都是在一个台或者几台服务器上,执行一系列的命令而已。通俗的说…

    Linux干货 2016-04-15
  • 马哥教育网络20期+第4周作业博客

    1、复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限。 答:cp -a /etc/ske1 /home/tuser1 && chown -R go-rwx /home/tuser1 2、编辑/etc/group文件,添加组hadoop。 答:echo "…

    Linux干货 2016-09-05
  • linux系统自动安装之PXE

    PXE(集成在网卡上的)预启动执行环境 (能够通过网络实现操作系统安装) PXE工作原理1、Client向PXE Server上的DHCP发送IP地址请求消息,DHCP检测Client是否合法(主要是检测Client的网卡MAC地址),如果合法则返回Client的IP地址,同时将启动文件pxelinux.0的位置信息一并传送给Client2、Client向P…

    2018-01-16
  • Linux LVM介绍及管理

    什么是LVM? LVM是逻辑盘卷管理(LogicalVolumeManager)的简称,它是Linux环境下对磁盘分区进行管理的一种机制,LVM是建立在硬盘和分区之上的一个逻辑层,用来提高磁盘分区管理的灵活性。系统管理员可以通过LVM轻松的管理磁盘分区,如:将若干个磁盘分区或物理磁盘连接为一个整块的卷组 (volumegroup),形成一个存储池。管理员可以…

    Linux干货 2016-08-30
  • Apache通过mod_proxy模块连接Tomcat并使用Memcached+MSM做Tomcat会话保持

    一 实验目的 本实验使用Apache的mod_proxy模块连接Tomcat, Nginx在前端做负载均衡,并使用Memcahced+MSM的方式保持Tomcat的会话,实现会话共享。 二 实验拓扑 说明:为测试方便,Memcached与Tomcat安装在同一机器中,正式环境应该安装在不同机器中。 三 实验环境 主机 IP 安装组件 node1 192.16…

    Linux干货 2017-01-17

评论列表(1条)

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

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