用户和组管理

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

相关推荐

  • Linux帮助文件的使用、history变量的使用和FHS

    怎样利用帮助文件来查询想要了解的信息? 这里以通过查找帮助文件来修改登陆信息为例子, 登陆的时候,我们可以看到CentOS的的版本和内核信息, 当我们查看该相关文件的时候,会发现,里面的文档和显示的不一致,由此可以了解到,该文档是调用某些参数来实现显示CentOS的版本和内核信息。 这个时候,我们该怎样去查看issue文档的相关信息? 首先我们可以查看一下通…

    Linux干货 2016-08-04
  • corosync + pacemaker搭建高可用mysql

    一、实验图     二、环境准备  1)确保时间同步 [root@SQL1 ~]# crontab -e  */5 * * * * /usr/sbin/ntpdate 172.16.2.15 [root@SQL2 ~]#…

    Linux干货 2015-06-30
  • varnish

    缓存 缓存之所以能够生效是程序的运行具有局部性特征: 时间局部性:一个数据被访问过之后,可能很快会被再次访问到; 空间局部性:一个数据被访问时,其周边的数据也有可能被访问到 缓存的是热区数据 时效性: 缓存空间耗尽:LRU,最近最少使用; 过期:缓存清理 缓存命中率:hit/(hit+miss) 页面命中率:基于页面数量进行衡量 字节命中率:基于页面的体积进…

    Linux干货 2017-07-03
  • X86平台系统启动流程 (Blog 9)

    POST –> BootSeqence(BIOS) –> Bootloader(MBR) –> Kernel(initrd) –> init(/etc/inittab)

    2017-11-27
  • rsyslog将日志记录于MySQL中

    数据库服务器:CentOS7 192.168.119.159   日志:CentOS6 192.168.119.129     准备mysql数据库 和 用户账户 [root@localhost ~]# yum install mariadb-server   [root@localhost ~]# systemctl…

    2018-02-05
  • Linux 之LVM

    一 LVM 简介:     LVM是 Logical Volume Manager(逻辑卷管理)的简写,LVM将一个或多个硬盘的分区在逻辑上集合,相当于一个大硬盘来使用,当硬盘的空间不够使用的时候,可以继续将其它的硬盘的分区加入其中,这样可以实现磁盘空间的动态管理,相对于普通的磁盘分区有很大的灵活性。LVM的工作原理其…

    Linux干货 2016-03-01

评论列表(1条)

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

    写的不错,没问题。