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

相关推荐

  • shell四剑客之sed

    概述 Stream EDitor, 行编辑器 sed是一种流编辑器,它一次处理一行内容。处理时,把 当前处理的行存储在临时缓冲区中,称为“模式空间”( pattern space),接着用sed命令处理缓冲区中的内容 ,处理完成后,把缓冲区的内容送往屏幕。接着处理下一 行,这样不断重复,直到文件末尾。文件内容并没有改变 ,除非你使用重定向存储输出。Sed主要…

    Linux干货 2016-08-15
  • ps常用命令

    Linux上进程有5种状态: 1. 运行(正在运行或在运行队列中等待) 2. 中断(休眠中, 受阻, 在等待某个条件的形成或接受到信号) 3. 不可中断(收到信号不唤醒和不可运行, 进程必须等待直到有中断发生) 4. 僵死(进程已终止, 但进程描述符存在, 直到父进程调用wait4()系统调用后释放) 5. …

    Linux干货 2017-07-02
  • Linux网络属性管理

      ifconfig命令 ifconfig [interface] # ifconfig -a # ifconfig IFACE [up|down] ifconfig interface [aftype] options | address … # ifconfig IFACE IP/mask [up] # ifconfig IFACE…

    Linux干货 2015-09-26
  • Ansible(From Wikipedia)

           Ansible 是一个免费的用于配置和管理计算机的的软件平台。它集成了软件部署,ad hoc任务执行,和管理配置的功能。它依赖Python2.4之后的版本和通过SSH或者PowerShell管理节点。模块工作在JSON格式,输出信息可以被任何编程语言再次编写。系统管理员可以使用YAML…

    Linux干货 2015-11-18
  • 编译安装http

    下载源码并解包   2 准备编译环境yum groupinstall “Development Tools” 3 编译安装   ./configure –prefix=/app/httpd24 –sysconfdir=/etc/httpd24/ –enable-ssl &#821…

    2017-12-02
  • find文件:就是这么简单

    概述 由于Linux一切皆文件,我们的日常运维工作其实就是与文件打交道的事,如何能够快速而有效地找到我们需要的文件呢?这是个令人头疼的问题。幸运是,Linux为用户提供了强大的查找工具——find。find通过遍历指定路径完成文件查找,它的的工作特点: 精确查找——多查询条件组合,精确匹配; 实时查找——遍历指定路径; 查找速度稍慢——由于需要遍历路径,速度…

    Linux干货 2016-08-18

评论列表(1条)

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

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