用户和组管理

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

[root@suywien ~]# who | cut -d ' ' -f1 | uniq  -c
  2 root
[root@suywien ~]#

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

[root@suywien ~]# who |  tail -1 | cut -d ' ' -f1 | id
uid=0(root) gid=0(root) groups=0(root)

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

[root@suywien ~]# cat /etc/passwd | cut -d :  -f7 | uniq -c | sort -n | tail -1
 35 /sbin/nologin

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

[root@suywien ~]# cat /etc/passwd | sort -t ':' -k 3 -n | tail -10 | tr 'a-z' 'A-Z' >/tmp/maxusers.txt
[root@suywien ~]# cat /tmp/maxusers.txt
GEOCLUE:X:994:991:USER FOR GEOCLUE:/VAR/LIB/GEOCLUE:/SBIN/NOLOGIN
COLORD:X:995:993:USER FOR COLORD:/VAR/LIB/COLORD:/SBIN/NOLOGIN
UNBOUND:X:996:994:UNBOUND DNS RESOLVER:/ETC/UNBOUND:/SBIN/NOLOGIN
POLKITD:X:997:996:USER FOR POLKITD:/:/SBIN/NOLOGIN
SYSTEMD-NETWORK:X:998:997:SYSTEMD NETWORK MANAGEMENT:/:/SBIN/NOLOGIN
SYSTEMD-BUS-PROXY:X:999:998:SYSTEMD BUS PROXY:/:/SBIN/NOLOGIN
ROO:X:1000:1000:ROOT:/HOME/ROO:/BIN/BASH
GENTOO:X:4001:4001::/HOME/GENTOO:/BIN/BASH
FEDORA:X:4002:4002:FEDORA CORE:/HOME/FEDORA:/BIN/TCSH
NFSNOBODY:X:65534:65534:ANONYMOUS NFS USER:/VAR/LIB/NFS:/SBIN/NOLOGIN

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

[root@suywien ~]# ifconfig | grep 'inet[[:space:]]'  | cut -d ' ' -f 10
192.168.239.11
127.0.0.1
192.168.122.1

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

[root@suywien ~]# ls /etc/*.conf | tr 'a-z' 'A-Z' > /tmp/etc.conf
[root@suywien ~]# cat /tmp/etc.conf
/ETC/ASOUND.CONF
/ETC/AUTOFS.CONF
/ETC/AUTOFS_LDAP_AUTH.CONF
/ETC/BRLTTY.CONF
/ETC/CGCONFIG.CONF
......

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

[root@suywien ~]# ls  /var/ | wc -l
23

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

[root@suywien ~]# cat /etc/group | sort -t ':' -k3 -n  | head -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/fstab和/etc/issue文件的内容合并为同一个内容后保存至/tmp/etc.test文件中。

[root@suywien ~]# cat /etc/fstab /etc/issue > /tmp/etc.test
[root@suywien ~]# cat /tmp/etc.test


 /etc/fstab
 Created by anaconda on Sun Feb 11 14:03:33 2018

......

10常用的用户和组的管理命令

1、useradd:创建用户或者更新用户的信息

语法格式:useradd [OPTION] USERNAME

常用的option:
    -d,指定用户的家目录位置;
    -c,指定用户的描述信息;
    -g;指定用户的默认组;
    -G,指定用户的附加组;
    -r,创建系统用户;
    -p,指定用户的密码;
    -s,指定用户的默认shell;
    -u,指定用户的uid;
    -u,指定用户的uid;

2、userdel:删除一个用户

语法格式:serdel [OPTION] USERNAME
      常用的option:-f,强制删除;-r,删除用户的同时一并删除用户的家目录

3、groupadd:创建一个组

  语法格式:groupadd [OPTION] GROUPNAME
      常用option:-g,指定组ID

4、groupdel:删除一个组

  语法格式:groupdel GEOUPNAME

5、usermod:更改用户和用户组的信息

  语法格式:usermod [option] USERNAME
      常用option:-c,更改用户的备注信息;-d:更改用户的家目录;-m,移动用户的数据到新的家目录;-L,锁定用户;-u,更改用户的id;-s,更用户的默认shell;-l,更改用户的用户名;-aG,添加用户的附加组;-U,解锁用户

6、id:显示用户和用户组的id信息

  • 语法格式:id [option] USERNAME 常用的option:-g,仅显示默认组ID;-G,显示用户加入的所有组id,-u,显示用户的uid

7、su:切换登录用户

  语法格式:su [option] USERNAME
      常用的option:-,交互式登录,登录的时候会读取配置文件

8、passwd:修改用户的密码

  语法格式: passwd USERNAME

11、用户和组管理类命练习:

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

  • [root@suywien ~]# groupadd -g 2016 distro
  • [root@suywien ~]# tail -1 /etc/group
  • distro:x:2016:

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

  • [root@suywien ~]# useradd -u 1005 -g distro mandriva
  • [root@suywien ~]# tail -1 /etc/passwd
  • mandriva:x:1005:2016::/home/mandriva:/bin/bash

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

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

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

  • [root@suywien ~]# echo mageedu | passwd mageia –stdin
  • Changing password for user mageia.
  • passwd: all authentication tokens updated successfully.

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

  • [root@suywien ~]# userdel mandriva
  • [root@suywien ~]# ls /home/
  • fedora gentoo linux mandriva roo

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

  • [root@suywien ~]# useradd -u 2002 -g distro -G peguin slackware

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

  • [root@suywien ~]# usermod -s /bin/tcsh slackware [root@suywien ~]# tail -1 /etc/passwd slackware:x:2002:2016::/home/slackware:/bin/tcsh

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

  • [root@suywien ~]# groupadd admins [root@suywien ~]# usermod -aG admins slackware

本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/92623

赞 (0)
落叶落叶
上一篇 2018-03-18 14:47
下一篇 2018-03-18 17:49

相关推荐

  • 马哥教育21期网络班—第五周课程+练习

    1、显示/boot/grub/grub.conf中以至少一个空白字符开头的行; grep "^[[:space:]]\+" /boot/grub/grub.conf 2、显示/etc/rc.d/rc.sysinit文件中以#开头,后面跟至少一个空白字符,而后又有至少一个非空白字符的行; grep "…

    Linux干货 2016-07-29
  • N26-博客作业-week6

    vim:Vi IMprove 基本模式:编辑模式,命令模式输入模式末行模式 打开文件: vim [option] [file…] +#:打开文件后,直接让光标处于第#行的行首+/PATTERN:打开文件后,直接让光标处于第一个被PATTERN匹配到的行的行首 模式转换:编辑模式:默认模式编辑模式 –> 输入模式:i:insert…

    Linux干货 2017-03-12
  • 浅谈DNS基本原理以及实现方法(一)

     DNS(Domain Name System,域名系统),是目前互联网上最不可或缺的服务器之一,我们在互联网从访问一个网站,到发送一封电子邮件,再到定位域中的域控制器,无时无刻不再使用着DNS为我们提供的服务,那为什么我们会需要这样一个服务那?带着这样一个疑问让我们先来认识一下什么是DNS吧  DNS最核心的工作就是域名解析,也就是把计…

    Linux干货 2015-12-15
  • shell脚本练习题

    1、编写脚本/root/bin/systeminfo.sh,显示当前主机系统信 息,包括主机名,IPv4地址,操作系统版本,内核版本, CPU型号,内存大小,硬盘大小。 #!/bin/bash ##编写脚本/root/bin/systeminfo.sh,显示当前主机系统信 息,包括主机名,IPv4地址,操作系统版本,内>核版本, C…

    Linux干货 2016-08-24
  • 浅谈HTTP协议以及httpd的十八般武艺

      初识HTTP协议                HTTP(hyper text transfer protocal)作为互联网应用最广泛的协议,任何一个运维人员都无法回避它,HTTP的目的就是提供一种发布和…

    Linux干货 2016-02-14
  • 计划任务和周期性任务

    linux计划任务     功能:指定未来的某以特定的时间点执行一次任务     命令:at、bathc     at命令:         选项: &nbsp…

    Linux干货 2016-09-12

评论列表(1条)

  • 马哥教育
    马哥教育 2018-03-20 21:22

    写的不错,没问题。