一、显示/etc/目录下,以非字母开头,后面跟了一个字母以及其它任意长度任意字符的文件或目录

  ls  /etc/[^[:alpha:]][[:alpha:]]*

二、复制/etc/目录下所有以p开头的,以非数字结尾的文件或目录到/tmp/mytest1目录中

  mkdir /tmp/mytest1

  cp -a /etc/p*[^[:digit:]] /tmp/mytest1

三、将/etc/issue文件中的内容转换为大写后保存至/etc/issue.out文件中

  tr 'a-z' 'A-Z' < /etc/issue

[root@centos7 ~]# tr 'a-z' 'A-Z' < /etc/issue
\S
KERNEL \R ON AN \M

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

1、用户管理命令

(1)、useradd:用户创建

  useradd [options] LOGIN

  选项:
    -u UID:指定UID,UID的最小值与最大值定义在 /etc/login.defs
    -o:配合-u选项,不检查UID的唯一性
    -g GID:指明用户所属的基本组,可为组名,也可为GID;如没有指定,则使用与用户名相同的组名
    -c "COMMNET":用户的注释信息
    -d HOME_DIR:指定用户的家目录;家目录的初始内容在 /etc/skel/ 下
    -D:表示修改用户的默认选项;(修改的是 /etc/default/useradd 中的选项),如useradd -D,useradd -D -s SHELL,useradd -D -b BASE_DIR
    -s SHELL:指明用户的默认shell程序,可用的shell列表在 /etc/shells
    -G GROUP1,GROUP2:指明用户的附加组,可以有多个,用逗号隔开,组必须事先存在
    -N:不创建私用组做主组,使用users组做主组
    -r:创建系统用户,CentOS6:ID<500,CentOS7:ID<1000
    -m:创建家目录,用于系统用户
    -M:不创建家目录,用于非系统用户

(2)、usermod:用户属性修改

  usermod [options] LOGIN

  选项:
    -u UID:新UID
    -g GID:新主组
    -G GROUP1,GROUP2,...:新附加组,原来的附加组将会被覆盖,若保留原有,则要同时使用 -a 选项,表示追加
    -s SHELL:新的默认SHELL
    -c "COMMENT":新的注释信息
    -d HOME:新家目录,原家目录中的文件不会移动至新的家目录,如要移动,则同时使用 -m 选项
    -l login_name:新的名字
    -L:锁定用户,在 /etc/shadow 的密码栏增加!
    -U:解锁用户,将 /etc/shadow 密码栏的!去掉
    -e YYYY-MM-DD:指定用户账号的过期日期
    -f INACTIVE:设定非活动期限(密码过期后的宽限天数)

(3)、userdel:删除用户

  userdel [options] LOGIN

  选项:
    -r:删除用户家目录

(4)、id:查看用户相关ID信息

  id [options]... [user]

  选项:
    -u:显示UID
    -g:显示GID
    -G:显示用户所属的组的ID
    -n:显示名称,需配合ugG使用

(5)、su:切换用户

  su UserName:非登录式切换,即不会读取目标用户的配置文件,不改变当前工作目录

  su - UserName:登录式切换,会读取目标用户的配置文件,切换至家目录,完全切换

(6)、passwd:修改指定用户的密码

  passwd [options] UserName

  选项:
    -d:删除指定用户密码
    -l:锁定指定用户
    -u:解锁指定用户
    -e:强制用户下次登录修改密码(使密码过期)
    -f:强制操作
    -n mindays:指定最短使用期限
    -x maxdays:最大使用期限
    -w warndays:提前多少天开始警告
    -i inactive-days:非活动期限
    --stdin:从标准输入接收用户密码,如echo "PASSWORD"|passwd --stdin USERNAME

(7)、chage:修改用户密码属性

  chage [options] LOGIN

  选项:
    -m:修改密码最小使用期限
    -M:修改密码最大使用期限
    -d LAST_DAY:修改用户最近一次修改密码的时间
    -I INACTIVE:修改用户的非活动期限
    -E EXPIRE_DATE:修改用户密码的过期日期
    -W WARN_DAYS:修改用户密码的警告天数
    -l 显示密码策略
  示例:
    chage -d 0 tom 下一次登录强制重设密码
    chage -m 0 –M 42 –W 14 –I 7 tom
    chage -E 2016-09-10 tom

2、组管理命令

(1)、groupadd:创建组

  groupadd [options] group

  选项:
    -g GID:指明GID
    -r:创建系统组
    -n:组改名

(2)、groupmod:组属性修改

  groupmod [options] group

  选项:
    -g GID:新的GID
    -n group_name:组改名

(3)、groupdel:组删除

  groupdel GROUP

(4)、gpasswd:更改组密码

  gpasswd [option] GROUP

  选项:
    -a user:将user添加至指定组中
    -d user:从指定组中移除用户user
    -A user1,user2,...:设置有组管理权限的用户列表

(5)、newgrp:临时切换主组

  如果用户本不属于此组,则需要组密码

3、练习题

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

  groupadd -g 2019 distro

[root@centos7 ~]# groupadd -g  distro
[root@centos7 ~]# tail -n /etc/group
distro:x::

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

  useradd -u 1005 -g distro mandriva

[root@centos7 ~]# useradd -u  -g distro mandriva
[root@centos7 ~]# id mandriva
uid=(mandriva) gid=(distro) groups=(distro)

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

  useradd -u 1100 -d /home/linux mageia

[root@centos7 ~]# useradd -u  -d /home/linux mageia
[root@centos7 ~]# id mageia
uid=(mageia) gid=(mageia) groups=(mageia)
[root@centos7 ~]# ll -d /home/linux/
drwx------ mageia mageia Nov : /home/linux/

(4)、给用户mageia添加密码,密码为mageedu,并设置用户密码7天后过期;

  echo "mageedu" | passwd --stdin mageia

  passwd -x 7 mageia

[root@centos7 ~]# echo "mageedu" | passwd --stdin mageia
Changing password for user mageia.
passwd: all authentication tokens updated successfully.
[root@centos7 ~]# passwd -x mageia
Adjusting aging data for user mageia.
passwd: Success
[root@centos7 ~]# chage -l mageia
Last password change : Nov ,
Password expires : Nov ,
Password inactive : never
Account expires : never
Minimum number of days between password change :
Maximum number of days between password change :
Number of days of warning before password expires :

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

  userdel mandriva

[root@centos7 ~]# userdel mandriva
[root@centos7 ~]# ll -d /home/mandriva/
drwx------ distro Nov : /home/mandriva/

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

  groupadd peguin

  useradd -u 2002 -g distro -G peguin slackware

[root@centos7 ~]# groupadd peguin
[root@centos7 ~]# useradd -u -g distro -G peguin slackware
[root@centos7 ~]# id slackware
uid=(slackware) gid=(distro) groups=(distro),(peguin)

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

  usermod -s /bin/tcsh

[root@centos7 ~]# tail -n  /etc/passwd
slackware:x::::/home/slackware:/bin/bash
[root@centos7 ~]# usermod -s /bin/tcsh slackware
[root@centos7 ~]# tail -n /etc/passwd
slackware:x::::/home/slackware:/bin/tcsh

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

  groupadd admins

  usermod -a -G admins slackware

[root@centos7 ~]# groupadd admins
[root@centos7 ~]# usermod -a -G admins slackware #使用-G与-a选项表示追加
[root@centos7 ~]# id slackware
uid=(slackware) gid=(distro) groups=(distro),(peguin),(admins)
[root@centos7 ~]# usermod -Ga admins slackware #此种写法不对
usermod: group 'a' does not exist
[root@centos7 ~]# usermod -G -a admins slackware #此种写法也不对
usermod: group '-a' does not exist
[root@centos7 ~]# gpasswd -d slackware admins #从组中删除用户
Removing user slackware from group admins
[root@centos7 ~]# id slackware
uid=(slackware) gid=(distro) groups=(distro),(peguin)
[root@centos7 ~]# usermod -G admins -a slackware #此种写法可以
[root@centos7 ~]# id slackware
uid=(slackware) gid=(distro) groups=(distro),(peguin),(admins)

第三周作业—N42-虚怀若谷的更多相关文章

  1. JAVA第三周作业(从键盘输入若干数求和)

    JAVA第三周作业(从键盘输入若干数求和) 在新的一周,我学习了JAVA的IO编程.下面的代码实现了从键盘输入若干数求和的目标.import java.util.Scanner; public cla ...

  2. 第三周作业、实时操作系统µC/OS介绍及其它内容

    作业要求 见<实时控制软件设计>第三周作业 1 阅读笔记--µC/OS 1.1 基本介绍 µC/OS是由Micrium公司研发的实时操作系统,以µC/OS-II或µC/OS-III为内核, ...

  3. 2018-2019-1 20189221《Linux内核原理与分析》第三周作业

    2018-2019-1 20189221<Linux内核原理与分析>第三周作业 实验二 完成一个简单的时间片轮转多道程序内核代码 实验过程 在实验楼中编译内核 编写mymain.c函数和m ...

  4. 2017-2018-2 1723《程序设计与数据结构》第三周作业 & 实验一 总结

    作业地址 第三周作业:https://edu.cnblogs.com/campus/besti/CS-IMIS-1723/homework/1667 提交情况如图: 实验一:https://edu.c ...

  5. 第三周作业(一)VS安装及单元测试练习

    第三周作业(一) 需求:练习教科书第22~25页单元测试练习,要求自行安装Visual Studio开发平台,版本至少在2010以上,要求把程序安装过程和练习过程写到博客上,越详细越好,要图文并茂,没 ...

  6. 2017-2018-1 JaWorld 第三周作业

    2017-2018-1 JaWorld 第三周作业 团队展示 队员学号 队名 团队项目描述 队员风采 团队的特色 团队合照 团队初步合作 前两周的反思与总结 需要改进的地方 团队选题 *采访老师或有开 ...

  7. 2017-2018-1 JAVA实验站 第三周作业

    2017-2018-1 JAVA实验站 第三周作业 团队展示 队名 JAVA实验站 拟作的团队项目描述 (2048)增加其他模式,使得2048更加丰富多彩 团队的首次合照 团队的特色描述 团队内部很团 ...

  8. 2017-2018-1 20179205《Linux内核原理与设计》第三周作业

    <Linux内核原理与分析>第三周作业 教材学习总结 第三章 进程管理 进程是Unix操作系统抽象概念中最基本的一种,是正在执行的程序代码的实时结果:线程,是在进程中活动的对象.而Linu ...

  9. 第三周作业-课本&&视频学习

    <网络攻防技术与实践>第三周作业 Part I 寻找自己留在互联网上的足迹并消除隐私 1.1 google/baidu搜索自己的qq号 搜索结果如图,搜到的有用信息其实就是图上这么几条,能 ...

  10. 2019-2020-1 20199329《Linux内核原理与分析》第三周作业

    <Linux内核原理与分析>第三周作业 一.上周问题总结: 第二周头脑风暴完成较慢 虚拟机libc配置错误 书本知识使用不够熟练 二.本周学习内容: 1.实验楼环境虚拟一个x86的CPU硬 ...

随机推荐

  1. crfclust.bdb导致磁盘满

    检查ora.crf服务 crsctl stat res ora.crf -init -t 关闭ora.crf服务 crsctl stop res ora.crf -init cd $ORACLE_HO ...

  2. JS-关闭当前窗口

    不提示直接关闭 默认有提示,若希望不提示直接关闭则需要使用(并非兼容全部浏览器) window.opener=null; window.open('','_self'); window.close() ...

  3. ASP.NET-配置Dubug和Release生成不同的Web.config

    配置 Dubug 和 Release 生成不同的 Web.config Web.config Transformation Syntax for Web Application Project Dep ...

  4. php-fpm的执行方式 (进程管理模式)

    php-fpm的进程数可以根据设置分为动态和静态. 静态:直接开启指定数量的php-fpm进程,不再增加或者减少: 动态:开始的时候开启一定数量的php-fpm进程,当请求量变大的时候,动态的增加ph ...

  5. Win10.设置(放大)

    1.ZC:我从感觉,我在Win10 里面截图 貌似被放大了,尤其是 在往cnblogs里面贴图的时候  比较明显,于是 度娘“Win10 自动放大”,找到如下帖子,里面有 2种设置方式: win10系 ...

  6. C#=>递归反转栈

    原理,递归反转栈 using System; using System.Collections.Generic; using System.Linq; using System.Threading.T ...

  7. hive环境

    一.hive安装部署 1.hive安装及配置 (1)解压apache-hive-1.2.1-bin.tar.gz到/opt/module/目录下面 tar -zxvf apache-hive-1.2. ...

  8. 什么是HTTP协议?常用的状态码有哪些?

    一.HTTP简介 HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网(WWW:World Wide Web )服务器传输超文本到本地浏览器的 ...

  9. [Codeforces 364D]Ghd(随机算法+gcd)

    [Codeforces 364D]Ghd(随机算法) 题面 给出n个正整数,在其中选出n/2(向上取整)个数,要求这些数的最大公约数最大,求最大公约数的最大值 分析 每个数被选到的概率\(\geq \ ...

  10. 5、numpy——切片和索引

    1.一维数组 1.1 一维数组很简单,基本和列表一致.ndarray 数组可以基于 0 - n 的下标进行索引. 切片对象可以通过内置的 slice 函数,并设置 start, stop 及 step ...