第三周作业

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

1
2
 ~]# who |sort -nu
root     pts/0        2016-08-28 20:14 (192.168.80.1)

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

1
2
~]# who /var/log/wtmp |tail -1
root     pts/1        2016-08-28 23:03 (192.168.80.1)

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

1
2
~]# cat /etc/passwd |awk -F: '{print $NF}' |uniq -c |sort -n |tail -1
     11 /sbin/nologin

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

1
<span style="font-family: sans-serif">~]# cat /etc/passwd |sort -t: -k3 -n |tail -10 | tr 'a-z' 'A-Z' |tee /tmp/maxusers.txt  <br></span><br>

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

1
2
 ~]# ifconfig eth0 |grep "inet addr" |awk '{print $2}' |awk -F: '{print$2}'
192.168.80.100

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
~]# for i in `find /etc -name "*.conf"`;do basename $i;done |tr 'a-z' 'A-Z' |tee /tmp/etc.conf
GAI.CONF
SUDO-LDAP.CONF
KRB5.CONF
SUDO.CONF
UDEV.CONF
RSYSLOG.CONF
HOST.CONF
PLYMOUTHD.CONF
RESOLV.CONF
GROUP.CONF
SEPERMIT.CONF
LIMITS.CONF
90-NPROC.CONF
TIME.CONF
NAMESPACE.CONF
CHROOT.CONF
ACCESS.CONF
PAM_ENV.CONF
VERSION-GROUPS.CONF
...

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

1
2
 ~]# ls /var/ |wc -l
17

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

1
2
3
4
5
6
7
8
9
10
11
~]# cat /etc/group |sort -t: -k3 -n |head -10 |awk -F: '{print $1}'
root
bin
daemon
sys
adm
tty
disk
lp
mem
kmem

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

1
~]# cat /etc/fstab  /etc/issue >/tmp/etc.test

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

用户管理命令:

useradd命令:创建用户

 useradd [options] LOGIN

-u UID :指定UID

-g GID: 指定基本组ID,此组要事先存在;

-G –groups GROUP1[,GROUP2,…[,GROUPN]] 指明用户所属的附加组,多个组之间有逗号隔开;

-c:指明注释信息;

-d:以指定的路径为用户的家目录;通过复制/etc/skel此目录并重命名实现,指定的家目录路径如果事先存在,则不会用此配置文件;

-s,–shell SHELL:指定用户的默认shell,可用的所有shell列表存储/etc/shells文件中;

-r:创建系统用户;

-M:不为目录创建主目录;

注意:创建用户是的诸多用户默认设定在/etc/login.defs

     

useradd -D:显示创建用户的默认配置:

useradd -D 选项:修改默认的选项的值;

修改的结果保存于/etc/default/useradd文件中;


usermod命令:修改用户属性

  usermod [options] LOGIN

-u, –uid UID

-g, –gid GROUP 修改用户所属的基本组;

-G, –groups GROUP1[,GROUP2,…[,GROUPN]]]:修改用户所属的附加组,原来的附加组会被覆盖;

-a –append:与-G一同使用,用于为用户追加新的附加组;

-d,–home HOME_DIR:修改用户的家目录;用户原有的文件不会被转移新的位置;

-m,–move-home:只能与-d选项一同使用,用于将原来的家目录移动为新的家目录;

-l,–login 修改用户名;

-s,–shell SHELL:指定用户的默认shell,可用的所有shell列表存储/etc/shells文件中;

-L,–locak:锁定用户的密码;即在用户原来的密码字符串之前添加一个“!”;

-U,–unlocak:解锁用户的密码;


userdel命令:删除用户

   userdel [option] LOGIN

-r:删除用户是一并删除其家目录;


组管理命令

groupadd:添加组

 groupadd [options] group

-g GID:自定义GID;默认是上一个组的GID+1;

-r :创建系统组;

    

groupmod命令:修改组属性;

 groupmod [options] GROUP

-g GID:修改GID

-n new_name:修改组名   new_group  old_group


groupdel命令:删除组

 groupdel group

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

1
~]# groupadd -g 2016 distro

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

1
~]# useradd -u 1005 mandriva -g distro

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

1
~]# useradd -u 1100 -d /home/linux mageia

   (4)、给用户mageia添加密码,密码为mageedu;

1
2
3
~]# echo "mageedu" |passwd --stdin mageia
Changing password for user mageia.
passwd: all authentication tokens updated successfully.

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

1
~]# userdel mandriva

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

1
~]# useradd -u 2002 -g distro -G prguin slackware

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

1
~]# usermod -s /bin/tcsh slackware

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

1
~]# usermod -G admins slackware

   (9)、为slackware添加密码,且要求密码最短使用期限为3天,最长为180天,警告为3天;

1
~]# passwd -n 3 -x 180 -w 3 slackware

   (10)、添加用户openstack,其ID号为3003, 基本组为clouds,附加组为peguin和nova;

1
~]# useradd -u 3003 -g clouds -G peguin,nova openstack

   (11)、添加系统用户mysql,要求其shell为/sbin/nologin;

1
 ~]# useradd -r -s /sbin/nologin mysql

   (12)、使用echo命令,非交互式为openstack添加密码。

1
2
3
~]# echo "123456" |passwd --stdin openstack
Changing password for user openstack.
passwd: all authentication tokens updated successfully.


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

(0)
上一篇 2016-12-21 22:02
下一篇 2016-12-21 22:09

相关推荐

  • 磁盘管理(三)逻辑卷快照

      概述:逻辑卷管理(LVM)提供了为任何逻辑卷作一个快照的功能,目的是在一致的状态下来得到一个文件系统的备份.因为在备份过程中,应用程序可能访问一个分区的文件或者数据库.一些文件可能在一个状态被备份,而后面的文件可能在一个更新后被备份,导致备份的不完整 .传统的解决方法是以只读的方式挂载一个分区,对数据库应用表级锁或者关闭数据库的引擎等;所有的措…

    Linux干货 2016-09-05
  • 用户相关属性权限、正则表达式的应用(网络班21期第四周博客)

    1、复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限。          mkdir /home/tuser1        &n…

    Linux干货 2016-08-02
  • 正则表达式基础以及grep的简单使用

    正则表达式基础以及grep的简单使用   1,定义 正则表达式是你所定义的模式模板,Linux可以用它来过滤文本。Linux工具(比如grep、sed、gawk)能够在处理数据时使用正则表达式对数据进行模式匹配。如果数据匹配模式,它就会被接受并进一步处理;如果数据不匹配,它就会被滤掉。 2,正则表达式的原则 (1)正则表达式模式都区分大小写。(2)…

    2017-04-09
  • mariadb基础应用

    mariadb基础应用 一、 前言 MariaDB is one of the most popular database servers in the world. It’s made by the original developers of MySQL and guaranteed to stay open source. Notable users …

    Linux干货 2016-12-16
  • Linux 第三天: (07月26日) Linux使用帮助

    Linux 第三天: (07月26日) Linux使用帮助         whatis 显示命令的简短描述makewhatis centos6 制作数据库mandb centos7 制作数据库 help COMMAND 内部命令man bash 内部命令COMMAND –help -h 外部命令man C…

    Linux干货 2016-08-08
  • https实现

    实现https 搭建CA 颁发证书

    2018-01-29