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 19:11
下一篇 2018-02-01 17:47

相关推荐

  • dd工具

    dd     dd命令:convert and copy a file     用法:        ddif=/PATH/FROM/SRC of=/PATH/TO/DEST       &…

    Linux干货 2016-09-02
  • N22-第四周博客作业

    1、复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限。 [root@localhost ~]# ll -d  /etc/skel/drwxr-xr-x. 3 root root 74 3月&…

    Linux干货 2016-09-19
  • MBR分区结构

    MBR分区结构 一、硬盘主引导记录MBR由4个部分组成: 1、主引导程序(偏移地址0000H–0088H),它负责从活动分区中装载,并运行系统引导程序。 2、出错信息数据区,偏移地址0089H–00E1H为出错信息,00E2H–01BDH全为0字节。 3、分区表(DPT,Disk Partition Table):含4个分…

    2017-08-20
  • shell脚本编程入门

    什么是shell脚本,其实,shell脚本就是利用shell的功能所写的一个程序,这个程序是使用纯文本文件,将一些shell的语法与命令(包含外部命令)写在里面,搭配正则表达式、管道命令与数据流重定向等功能等这些命令的组合起来,以达到我们所想要的目的。 程序编程风格有两种: 过程式:以指令为中心,数据服务于指令。 对象式:以数据为中心,指令服务于数据。 过程…

    Linux干货 2016-08-18
  • iptables基础实战练习

    目录: 一、基本规则练习 二、SNAT源地址转移 三、DNAT目标地址转移   一、基础规则练习   (1) 放行ssh (端口:22) 1 iptables -A INPUT -d 192.168.42.153 -p tcp –dport 22 -j ACCEPT 2 iptables -A OUTPUT -s 192.168.42.…

    2017-08-04
  • 单向加密原理

      单向加密算法对数据进行加密的过程分为两个步骤:   一、添加特征码           上图中说明了为数据添加特征码的步骤:       1、使用单向算法计算出特征码       2、使用私钥来加密特征码   &nb…

    Linux干货 2016-02-24

评论列表(1条)

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

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