第三周作业

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

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

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

grep  "$(who | sort -t' ' -k3 -r | cut -d' ' -f1 | head -1)"  /etc/passwd

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

cut -d: -f7 /etc/passwd | sort | uniq -c | sed  's@^[[:space:]]\+@@' | sort -rn -t' ' -k1 | cut -d' ' -f2 | head -1

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

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

5. 取出当前主机的IP地址

ifconfig | awk -F' ' '/inet/{print $2}'

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

for i in $(ls -d /etc/*.conf); do echo "$i"; done | cut -d/ -f3 | tr [a-z] [A-Z] > /tmp/etc.conf

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

ls /var | wc -l

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

cat /etc/group | sort -n -t: -k3 | head -10 | awk -F: '{print $1}'

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

cat /etc/passwd /etc/issue | tee /tmp/etc.test

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

  • 创建组distro,其GID为2016;

groupadd -g 2016 distro
  • 创建用户mandriva,其ID号为1005;基本组为distro;

useradd -u 1005 -g distro mandriva
  • 创建用户mageia,其ID号为1100,家目录为/home/linux;

useradd -u 1100 -d /home/linux mageia
  • 给用户mageia添加密码,密码为mageedu;

echo "mageedu" | passwd --stdin mageia
  • 删除mandriva,但保留其家目录

userdel mandriva
  • 创建用户slackware,其ID号为2002,基本组为distro,附加组peguin

useradd -u 2002 -g distro -G distro,peguin slackware
  • 修改slackware的默认shell为/bin/tcsh;

usermod -s /bin/tcsh slackware
  • 为用户slackware新增附加组admins

gpasswd -a slackware admins
  • 为slackware添加密码,且要求密码最短使用期限为3天,最长180天,警告为3天;

passwd  -n 3 -x 180 -w 3 slackware
  • 添加用户openstack,其ID号为3003,基本组为clouds,附加组为peguin和nova;

useradd -u 3003 -g clouds -G clouds,peguin,nova openstack
  • 添加系统用户mysql,要求其shell为/sbin/nologin;

useradd -r -s /sbin/nologin mysql
  • 使用echo命令,非交互式为openstack添加密码;

echo "mageedu" | passwd --stdin openstack

原创文章,作者:allen,如若转载,请注明出处:http://www.178linux.com/64164

(0)
allenallen
上一篇 2016-12-19
下一篇 2016-12-19

相关推荐

  • select循环解析

    前言:   select命令用于创建菜单,在select循环执行时会根据list数组给出选择菜单,用户选择后的结果保存在变量中,然后给出菜单,等待用户选择。select是个死循环,如果用户用户想跳出选择循环,需要在循环体中根据条件增加break语句。 格式: select variable in list do 循环体命令 done 示例: 在这个…

    Linux干货 2016-08-24
  • Linux-进程管理

    本小节介绍  1、进程的描述  2、用户怎么样管理进程  3、进程管理的命令 进程的概念        内核的功能:进程管理、文件系统、网络功能、内存管理、驱动程序、安全功能等。        Pro…

    2017-07-02
  • 磁盘管理

    回顾 {a..f} a b c d e f ]# arr=({a..z}) ]# echo ${#arr[*]} 26 ]# N1=N2 ]# N2=zhuchaoming ]# echo ${!N1} eval N1=\$$N2 echo $N1 创建临时文件 mktemp NAME.XXX 交互式登录 /etc/profile –> /…

    Linux干货 2016-09-07
  • Hadoop简介

    我们之前已经解释过了分布式存储,分布式存储有很多的解决方案,其中有个开源程序叫做HDFS,HDFS+MAPREDUCE=hadoop。 hadoop不算是单存的分布式存储,我们之前提到的Mogilefs和Fastdfs都是分布式存储。hadoop属于分布式计算,MAPREDUCE是一个编程的框架,使得程序可以并行计算。 HDFS适用于存储单个大文件,在存储中…

    2017-03-13
  • Jerry的学习计划/目标/宣言

    学习计划 按照班主任给的计划进度来,多动手做实验。 目标 勇敢做自己,做更好的自己 宣言 能不能成为高富帅,日后是否能愉快地装逼,就看这半年!

    Linux干货 2016-10-24
  • 第四周

    第四周 1.复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其他用户均没有任何访问权限。 [root@node1 ~]# cp -r /etc/skel/ /home/tuser1 [root@node1 ~]# chmod -R go= /home/tuser1 [root@node1 ~]# ls -…

    Linux干货 2017-07-26