第三周作业—N42-虚怀若谷
一、显示/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-虚怀若谷的更多相关文章
- JAVA第三周作业(从键盘输入若干数求和)
JAVA第三周作业(从键盘输入若干数求和) 在新的一周,我学习了JAVA的IO编程.下面的代码实现了从键盘输入若干数求和的目标.import java.util.Scanner; public cla ...
- 第三周作业、实时操作系统µC/OS介绍及其它内容
作业要求 见<实时控制软件设计>第三周作业 1 阅读笔记--µC/OS 1.1 基本介绍 µC/OS是由Micrium公司研发的实时操作系统,以µC/OS-II或µC/OS-III为内核, ...
- 2018-2019-1 20189221《Linux内核原理与分析》第三周作业
2018-2019-1 20189221<Linux内核原理与分析>第三周作业 实验二 完成一个简单的时间片轮转多道程序内核代码 实验过程 在实验楼中编译内核 编写mymain.c函数和m ...
- 2017-2018-2 1723《程序设计与数据结构》第三周作业 & 实验一 总结
作业地址 第三周作业:https://edu.cnblogs.com/campus/besti/CS-IMIS-1723/homework/1667 提交情况如图: 实验一:https://edu.c ...
- 第三周作业(一)VS安装及单元测试练习
第三周作业(一) 需求:练习教科书第22~25页单元测试练习,要求自行安装Visual Studio开发平台,版本至少在2010以上,要求把程序安装过程和练习过程写到博客上,越详细越好,要图文并茂,没 ...
- 2017-2018-1 JaWorld 第三周作业
2017-2018-1 JaWorld 第三周作业 团队展示 队员学号 队名 团队项目描述 队员风采 团队的特色 团队合照 团队初步合作 前两周的反思与总结 需要改进的地方 团队选题 *采访老师或有开 ...
- 2017-2018-1 JAVA实验站 第三周作业
2017-2018-1 JAVA实验站 第三周作业 团队展示 队名 JAVA实验站 拟作的团队项目描述 (2048)增加其他模式,使得2048更加丰富多彩 团队的首次合照 团队的特色描述 团队内部很团 ...
- 2017-2018-1 20179205《Linux内核原理与设计》第三周作业
<Linux内核原理与分析>第三周作业 教材学习总结 第三章 进程管理 进程是Unix操作系统抽象概念中最基本的一种,是正在执行的程序代码的实时结果:线程,是在进程中活动的对象.而Linu ...
- 第三周作业-课本&&视频学习
<网络攻防技术与实践>第三周作业 Part I 寻找自己留在互联网上的足迹并消除隐私 1.1 google/baidu搜索自己的qq号 搜索结果如图,搜到的有用信息其实就是图上这么几条,能 ...
- 2019-2020-1 20199329《Linux内核原理与分析》第三周作业
<Linux内核原理与分析>第三周作业 一.上周问题总结: 第二周头脑风暴完成较慢 虚拟机libc配置错误 书本知识使用不够熟练 二.本周学习内容: 1.实验楼环境虚拟一个x86的CPU硬 ...
随机推荐
- codecs模块, decode、encode
使用codecs模块,在Python中完成字符编码 字符的编码是按照某种规则在单字节字符和多字节字符之间进行转换的某种方法.从单字节到多字节叫做decoding,从多字节到单字节叫做encodin ...
- 专人写接口+模型,专人写业务逻辑---interface_model -- business logical
专人写接口+模型,专人写业务逻辑---interface_model -- business logical 0-控制台脚本重构为“面向接口编程”:1-仓库类通过__constru方法,来实现一处实例 ...
- PHP-执行外部程序
备份 / 恢复数据库 exec - 执行一个外部程序(在 php 文件所在目录进行执行) 很久以前写的,很多方法是项目中的直接复制粘体用不了,只能提供下思路. 用到执行外部程序的就这一句: exec( ...
- php基础/类型
1.php的格式: <?php ?> 内嵌格式: <? ?> (php可以写在html文件里面) 2.php的输出:echo (每段的结束必须加;) 3.定义变量: 不需要管他 ...
- mariadb(三)查
-查询基本使用(条件,排序,聚合函数,分组,分页) 1)创建一个表结构然后添加数据 create table baba (id int unsigned not null auto_increment ...
- php 的定界符 <<<eof 的问题
PHP是一个Web编程语言,在编程过程中难免会遇到用echo来输出大段的html和javascript脚本的情况,如果用传统的输出方法 ——按字符串输出的话,肯定要有大量的转义符来对字符串中的引号等特 ...
- 牛客 打印N个数组整体最大的Top K
题目链接:https://www.nowcoder.com/practice/5727b69bf80541c98c06ab90cf4c509e?tpId=101&tqId=33102& ...
- 编程语言 - 脚本编程 - JavaScript/Jquery/Ajax/XML/JSON/ActionScript3
事件处理onmouseover <!DOCTYPE html> <html> <head> <meta charset="utf-8"&g ...
- Node.js实战6:定时器,使用timer延迟执行。
setTimeout 在nodejs中,通过setTimeout函数可以达到延迟执行的效果,这个函数也常被称为定时器. 一个简单的例子: console.log( (new Date()).getSe ...
- 《JAVA设计模式》之适配器模式(Adapter)
在阎宏博士的<JAVA与模式>一书中开头是这样描述适配器(Adapter)模式的: 适配器模式把一个类的接口变换成客户端所期待的另一种接口,从而使原本因接口不匹配而无法在一起工作的两个类能 ...