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

 who | cut -d" " -f1 | sort -u

who | cut -d" " -f1 | uniq

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

 w | tail -1

last -1

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

 cat /etc/passwd | cut -d":" -f7 | sort | uniq -c | sort -n | tail -1

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

 sort -t':' -k3 -n /etc/passwd | tail -10 | tr 'a-z' 'A-Z' | tee /tmp/maxusers.txt

sort -t':' -k3 -n /etc/passwd | tail -10 | tr 'a-z' 'A-Z' > /tmp/maxusers.txt

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

 ifconfig | cut -d' ' -f10 | head -2 | tr -d '\n'

ifconfig | cut -d' ' -f10 | head -2 | tail -1

ip addr | cut -d' ' -f6 | head -9 | tail -1

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

 ls /etc/*.conf | tr 'a-z' 'A-Z' | tee /tmp/etc.conf

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

 find /var | wc -l

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

 sort -t":" -k3 -n /etc/group | head -10 | cut -d":" -f1

9、将/etc/fstab和/etc/issue文件的内容合并为同一个内容后保存至/tmp/etc.test文件中。

 cat /etc/{fstab,issue} > /tmp/etc.test

10、请总结描述用户和组管理类命令的使用方法并完成以下练习:

  用户管理命令:

(1)useradd:创建用户,useradd [选项] 用户名

 -u:指定UID(默认是上一个用户的 UID+1)
-g:指定基本组(此组 事先必须存在)
-G:指定附加组,多个组之间用 逗号 分隔(组 事先必须存在)
-c:添加注释信息
-d:以指定的目录为用户的家目录(通过复制 /etc/skel 此目录并重命名来实现用户家目录,如果 指定的目录 事先存在,则不会复制)
-s:指定用户的默认shell(可用的所有shell 存储在 /etc/shells 文件中)
-r:创建系统用户
-p:设置密码(明文保存密码,不用)
-M:不为用户创建家目录
-D:显示创建用户的默认配置
-D [选项]:修改创建用户的默认配置(修改的结果保存在 /etc/default/useradd 文件中)

(2)usermod:修改用户属性,usermod [选项] 用户名

 -u:修改用户的UID
-g:修改用户的基本组(此组 事先必须存在)
-G:修改用户的附加组,原有的附加组会给覆盖(组 事先必须存在)
-a:与-G 一同使用,用于为用户添加新的附加组
-c:修改注释信息
-d:修改用户的家目录,用户家目录原有的文件不会被移动
-m:与-d 一同使用,用于将原有的家目录文件移动到新的家目录
-l:修改用户名
-s:修改用户的默认shell
-L:锁定用户密码(通过在用户原来的密码字符串前添加一个“!”来达到禁止用户登录)
-U:解锁用户密码

(3)userdel:删除用户,userdel [选项] 用户名

 -r:删除用户时一并删除用户的家目录和邮箱(默认不删除)

(4)passwd:

 passwd:修改用户自己的密码
passwd 用户名:修改指定用户的密码(仅root 有权限操作)
-l,-u:锁定和解锁 用户
-d:清除用户密码
-e:使用户密码过期(用户下次登录必须重设密码)
-i 天数:密码过期后的活动期限(仅root有权限操作)
-n 天数:密码的最短使用期限(仅root有权限操作)
-x 天数:密码的最长使用期限(仅root有权限操作)
-w 天数:密码过期前的警告期限(仅root有权限操作)
--stdin:(echo "密码" | passwd --stdin 用户名,给用户设置密码)

(5)id:显示用户信息,id [选项] 用户名

 -u:仅显示uid
-g:仅显示gid
-G:显示用户所属的所有组的ID

(6)su:切换用户,su [选项] 用户名

 -c 命令:以指定用户的身份运行命令
登录式切换:重新读取目标用户的配置文件来进行初始化—su - 用户名 或 su -l 用户名
非登录式切换:不读取目标用户的配置文件—su 用户名

  组管理命令:

(1)groupadd:添加组,groupadd [选项] 组名

 -g:指定GID(默认是上一个组的 GID+1)
-r:创建系统组

(2)groupmod:修改组属性,groupmod [选项] 组名

 -g:修改GID
-n:修改组名

(3)groupdel:删除组,groupdel [选项] 组名

(4)gpasswd:给组添加密码,gpasswd [选项] 组名

 -a 用户名:向组中添加用户
-d 用户名:从组中移除用户
-r:删除密码
-A:指定组的管理员

(5)newgrp:临时切换用户的基本组,newgrp [-] 组名

 -:会模拟用户登录以实现重新初始化工作环境

  练习:

(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

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

 userdel mandriva

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

 usergroup peguin
useradd -u 2002 -g distro -G peguin slackware

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

 usermod -s /bin/tcsh slackware

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

 groupadd admins
usermod -aG admins slackware

Linux用户与组管理命令的更多相关文章

  1. linux学习16 Linux用户和组管理命令演练和实战应用

    一.上集回顾 1.bash globing,IO重定向及管道 glob:*,?,[],[^] IO重定向: >,>>, 2>,2>> &>,& ...

  2. linux用户与组管理命令的基本操作

    用户账号管理命令 为了提高系统的利用率,避免因多个用户共用一个root账号而造成不必要要的系统安全隐患,通常需要为 新用户添加账户.在Linux系统中,添加用户只能由超级用户来完成,也就是说,只能由r ...

  3. Linux用户和组管理命令-用户创建useradd

    用户管理命令 useradd usermod userdel 组帐号维护命令 groupadd groupmod groupdel 用户创建 useradd 命令可以创建新的Linux用户 格式: u ...

  4. Linux用户和组管理命令-用户删除userdel

    删除用户 userdel 可删除Linux 用户 格式: userdel [OPTION]... Login 常见选项: -f, --force 强制 -r, --remove 删除用户家目录和邮箱 ...

  5. Linux用户和组管理命令-用户属性修改usermod

    用户属性修改 usermod 命令可以修改用户属性 格式: usermod [OPTION] login 常见选项: -u UID: 新UID -g GID: 新主组 -G GROUP1[,GROUP ...

  6. Linux用户和组管理命令-切换用户su

    切换用户或以其他用户身份执行命令 su: 即 switch user,命令可以切换用户身份,并且以指定用户的身份执行命令 格式: su [options...] [-] [user [args...] ...

  7. linux学习(五)用户与组管理命令,以及用户信息文件解释

    目录 (1)/etc/passwd文件 (2)/etc/shadow passwd命令 userdel命令 usermod命令 groupadd @(用户与组管理命令) linux是一个多用户多任务的 ...

  8. linux用户、组管理及权限(一)

    一.用户管理 1.为什么需要用户 1)计算机及网络资源的合理分配  2)可以控制用户访问系统的权限.3)身份认证 4) 进程 以某个用户的身份来运行 2.用户分类 用户的角色是通过UID(用户ID)来 ...

  9. Linux 用户和组管理

    这是用户和组管理的知识点,不想看文字就看视频吧,还是视频为主,文字为备忘录 视频链接: 项目1用户管理 1.创建一个新用户user01,设置其主目录为/home/user01: #useradd –d ...

随机推荐

  1. MySQL设置允许用户远程登录

    . //登录数据库 mysql -u root -pvmwaremysql>use mysql; //%为所有ip都可以远程访问 mysql>update user set host = ...

  2. c#比较两个字符串

    1. String.Compare(str1, str2) == 0  或者  str1.CompareTo(str2) == 0 2. str1.Equals(str2)  或者 String.Eq ...

  3. Hibernate课程 初探多对多映射2-2 创建持久化类和映射文件

    生成实体类 和 cfg.xml配置 cfg.xml 参照一对多映射 实体类如下: Project 类 package com.ddwei.entity; import java.util.HashSe ...

  4. Github站点搭建 gh-pages

    首先:把完整代码放在 gh-pages 分支上,设置 gh-pages 为默认分支(习惯性设置,也可以不设置). 网址: http://你的github域名.github.io/项目入口文件夹/ 本宝 ...

  5. 《ArcGIS Runtime SDK for Android开发笔记》——(1)、Android Studio下载与安装

    1.前言 Android Studio 是一个Android开发环境,基于IntelliJ IDEA. 类似 Eclipse ADT,Android Studio 提供了集成的 Android 开发工 ...

  6. python模块详解 sys shutil

    sys模块 sys.argv 命令行参数List,第一个元素是程序本身路径 sys.exit(n) 退出程序,正常退出时exit(0) sys.version 获取Python解释程序的版本信息 sy ...

  7. sharepoint 2010 FieldLookup 的更新方法

    网上有,但是是错误的,稍微改一下,就可以了 第一个方法是要更新的item,其中 _fieldname 为要更新的lookup字段名字,_lookupValue为要更新的值. public void S ...

  8. python3基础13(format的使用)

    #!/usr/bin/env python# -*- coding:utf-8 -*- from string import Templatedict={'name':'python','age':2 ...

  9. SINAMICS S120 Parking axis设置,安转拆除或屏蔽电机

    1) P897 Parking axis selection 此参数可以连接到周期通讯的报文中(PZD) 2) 标准报文111中,已经连接此参数

  10. session的MaxInactiveInterval=0在tomcat6和tomcat8不同表现

    在tomcat6中调用 request.getSession().setMaxInactiveInterval(0); 这个session会立即过期. 而在tomcat8中,同样的调用,会导致这个se ...