Linux基础之用户及组管理

grep扩展应用,用户管理,组管理,用户及组管理命令

grep扩展应用

  1. 列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。
    who | grep -o “^[^[:space:]]\+” | uniq
  2. 取出最后登录到当前系统的用户的相关信息。
    grep “$(last | grep -o “^[^[:space:]]\+” | uniq -1)” /etc/passwd
  3. 取出当前系统上被用户当作其默认shell的最多的那个shell。
    echo $(cut -f7 -d’:’ /etc/passwd | sort | uniq -c | sort -rn | head -1) | cut -d ” ” -f2
  4. 将/etc/passwd中的第三个字段数值最大的后10个用户的信息全部改为大写后保存至/tmp/maxusers.txt文件中。
    sort –t : -nk /etc/passwd | tail -10 | tr a-z A-Z &> /tmp/maxusers.txt
  5. 取出当前主机的IP地址,提示:对ifconfig命令的结果进行切分。
    ifconfig | grep -o “[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}”
  6. 列出/etc目录下所有以.conf结尾的文件的文件名,并将其名字转换为大写后保存至/tmp/etc.conf文件中。
    ls -l /etc | grep -o “[[:alnum:]]\+.conf” | tr a-z A-Z &> /tmp/etc.conf
  7. 显示/var目录下一级子目录或文件的总个数。
    ls -l /var | wc -l
  8. 取出/etc/group文件中第三个字段数值最小的10个组的名字。
    cat /etc/group | sort -rnk 3 -t: | tail | cut -d”:” -f1
  9. 将/etc/fstab和/etc/issue文件的内容合并为同一个内容后保存至/tmp/etc.test文件中。
    cat /etc/fstab /etc/issue > /tmp/etc.test

 

用户及组管理命令

useradd命令:添加用户
规则:useradd [OPTION] USERNAME
示例:useradd –u 1000 testuser
常用选项:
-u:定义UID
-g:定义用户的基本组
-c “”:添加用户的注释信息,comment
-d:指定用户的家目录
-s SHELL:定义用户的默认shell
-G:定义用户的一个或多个附加组,用逗号隔开,并且这些组必须已存在
-D:修改用户的默认信息(其实是间接修改了/etc/default/useradd文件)
-s:修改用户的默认shell信息

groupadd命令:创建组
规则:groupadd [OPTION] GROUPNAME
示例:groupadd –g 1000 testgroup1
常用选项:
-g GID:设定组的ID
-r:将此次创建的组设定为系统组

id命令:查看用户信息
规则:id [OPTION] [USERNAME]
示例:id(输出当前登录用户的各种信息,包括组,附加组,注释等等信息)
常用选项:
-u:只显示UID
-g:只显示基本GID
-G:只显示附加组ID
-n:显示用户的name(必须和以上三个参数一起配合用,不能单独使用)

su命令:切换用户或以另外用户的身份运行命令
规则:su [OPTION] [-| l] [user]
示例:su – root(切换到root用户,需要输入root’密码)
常用用法:
su USERNAME:非登录式切换,不会读取目标用户的配置文件
su – USERNAME 或者su –l USERNAME:登录式切换,重新以目标用户的身份登录
注意:root切换到其他用户无需输入密码,其他用户则需要输入密码,非登录式切换也需要的哟

usermod命令:修改用户的属性
规则:usermod [OPTION] USERNAEM
示例:usermod –u 666 test01(将test01的UID修改为666)
常用选项:
-u UID:修改用户UID
-g GID:修改用户的基本组ID
-G group1,group2:为用户修改或添加附加组
-s SHELL:修改用户的shell
-c“comment”:修改用户的注释信息
-d /path/to/newhome:修改用户的家目录(原来的家目录文件不会移至新目录,除非加上-m选项)
-l newname:修改用户的名称为newname
-L:锁定用户
-U:解锁已锁定的用户
-e +时间:设置用户的过期时间
-f inactive:指定用户的非活动期限

passwd命令:修改用户的密码
注意:root可以随意修改任意用户的密码,普通用户只能修改自己的密码
规则:passwd [OPTION] UserName
示例:~]#:passwd test01(echo “string” | passwd –stdin test01)
常用选项:
-l:锁定用户
-u:解锁用户
-n mindays:指定最短的使用期限
-x maxdays:使用最大期限
-w warndays:提前多少天开始告警
-i inactive-days:非活动期限
–stdin:从标准输入接收用户密码
echo “string” | passwd –stdin test01
注意:
/dev/null能够接收任何内容,并将其丢弃
/dev/zero能够连续不断的输出0信息

userdel命令:删除用户
规则:userdel [OPTION] USERNAME
示例:userdel test01
常用选项:
-r:删除用户的家目录

groupmod命令:修改组属性
规则:groupmod [OPTION] GROUPNAME
示例:groupmod –n mygrp yougrp
常用选项:
-n newname:修改组名
-g GID:修改组的GID

groupdel命令:删除组,用法类似于userdel

gpasswd命令:用于用户切换基本组
规则:gpasswd [OPTION] group
示例:gpasswd –a test01 mygrp
常用选项:
-a user:将user添加至指定组中
-d user:将user从组中删除
-A user:将user设置为拥有组权限的组管理员

 

 

相关练习:

  1. 创建组distro,其GID为2016;
    groupadd –g 2016 distro
  2. 创建用户mandriva, 其ID号为1005;基本组为distro;
    useradd –u 1005 –g distro mandriva
  3. 创建用户mageia,其ID号为1100,家目录为/home/linux;
    useradd –u 1100 –d /home/linux mageia
  4. 给用户mageia添加密码,密码为mageedu;
    echo “mageedu” | passwd –stdin mageia(在root用户模式下)
  5. 删除mandriva,但保留其家目录;
    userdel mandriva
  6. 创建用户slackware,其ID号为2002,基本组为distro,附加组peguin;
    useradd –u 2002 –g distro –G peguin slackware
  7. 修改slackware的默认shell为/bin/tcsh;
    usermod –s /bin/tcsh slackware
  8. 为用户slackware新增附加组admins; usermod –G admins slackware

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

(3)
~~
上一篇 2018-01-31
下一篇 2018-02-01

相关推荐

  • 中文man安装手册

      首先需要确认的是有没有安装中文支持,如果没有请安装:#yum groupinstall -y "Chinese Support" 现在下载安装包: wget http://manpages-zh.googlecode.com/files/manpages-zh-1.5.1.tar.gz  (这个wget是直接网页下…

    系统运维 2016-01-13
  • linux中数组的定义与使用

            我们常说,程序=指令+数据,往细一点的方向说,指令具体指的有哪些?数据又有哪些? 总结一下: 指令大概包括,编程语言中的语法关键字(如bash编程中的关键字有for,while,case,if,until,continue,break),还包括系统中的命令,和一些自己编写的函数,这些…

    2017-05-23
  • N26第二周博客作业

    1、  Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示。 常见的文件查看命令有:cat,tac,head,tail,more,less,stat,touch 常见的文件管理命令有:cp,mv,rm 常见的目录管理命令:mkdir,rmdir 以下进行详细介绍: 1.1  文件查看命令 l  ca…

    Linux干货 2017-02-03
  • 第五周学习总结-rpm&yum

    我们都知道,计算机只能识别二进制程序,而程序员编写的源代码都是以纯文本形式存在,因此,要想让计算机识别并运行这些源代码程序,就必须通过中间的转换机制让源代码变为二进制程序文件,而这种转换过程就称为编译过程。Linux的各发行版本中由于各厂商的编译过程不尽相同,因此就诞生了各种不同的软件管理包组件。其中我们最熟知的就要数Redhat系列的rpm包了。 rpm包…

    2018-01-03
  • bash脚本函数和数组

        函数function是由若干条shell命令组成的语句块,实现代码重用和模块化编程。它与shell程序形式上是相似的,不同的是它不是一个单独的进程,不能独立运行,而是shell程序的一部分。    函数和shell程序比较相似,区别在于:  &nbsp…

    Linux干货 2016-08-24
  • Shell脚本编程—特殊用法(select)及函数、递归

    Shell脚本编程—特殊用法及函数   一、while的特殊用法: 1、使用格式: while read 变量名;do    循环体 done </PATH/TO/filename 注:依次从指定的文件中的内容逐行读取,并把读取到的每行赋值给变量。 2、例题: 扫描/etc/passwd文件每一行,如发现GECOS字段为空…

    Linux干货 2016-08-21

评论列表(1条)

  • 马哥教育
    马哥教育 2018-02-07 10:18

    练习基本上没有什么问题,能熟练应用到日常的工作中最好~加油~