Linux基础学习总结(三)

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

[leexide@leeblog ~]$who | cut -d" " -f1 | uniq

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

last -n 1 | cut -d" " -f1 | head -1

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

[leexide@leeblog ~]$cat /etc/passwd | cut -d":" -f7 | uniq -c | sort -n | tail -1 | awk '{print $2}'
/sbin/nologin

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

[leexide@leeblog ~]$cat /etc/passwd | sort -n -k 3 -t: | tr 'a-z' 'A-Z' >/tmp/maxusers.txt

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

[leexide@leeblog ~]$ifconfig eth0 | grep "inet" | awk '{print $2}'

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

[leexide@leeblog ~]$ls /etc/*.conf  |  tr 'a-z' 'A-Z'  > /tmp/etc.conf

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

[leexide@leeblog ~]$find /var -type f | wc -l

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

[leexide@leeblog ~]$cat /etc/group | sort -n -k 3 -t: | head -10 | cut -d":" -f1

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

[leexide@leeblog ~]$ cat /etc/{fstab,issue} > /tmp/etc.test

10、总结描述用户和组管理类命令的使用方法以及一些具体的示例

(1)Linux用户和用户组简介

       Linux是一个多用户操作系统,即同时支持多个用户同时登录到系统共同使用计算机资源,那么每个要登录到计算机系统的唯一的标识就叫做一个用户,这个唯一的标识实现了资源的隔离,使得多个用户同时登录到系统时不会导致系统的混乱,那么,当用户过多时,对每个用户的管理就会变得十分困难和繁琐,于是,用户组的作用就是实现对用户的分组管理,使得对用户的管理变得简洁。而对于计算机来说,字符串并非是其擅长处理的,数字才是,所以每个用户都有一个唯一的标识与用户相对应的数字,叫做用户或用户组的id,类似人的身份证。但是并非每个人都有使用计算机资源的权利,因此,每个用户想要登录到系统还需要使用凭证,通俗来说就是需要所谓的密码来登录系统。而用户登录系统的整个过程则是根据/etc/passwd文件来实现验证。那么对于管理 员来说,对系统上用户的管理就显得至关重要。

(2)Linux用户和用户组说明

Linux中用户有:管理员和普通用户两类:

 管理员:也叫超级用户,用户id为0,拥有系统管理的最高权限

 普通用户:系统用户和 登录用户:

     系统用户:centos6上用户id是1-499,centos7上则是1-999;

      登录用户:centos6上用户id是500-60000,centos7则是1000-60000; 

Linux上的用户组:管理员组和普通用户组:

   管理员组:组id为0

   普通用户:分为系统用户组和登录用户组

     系统用户组:centos6上组id为1-499,centos7上组id为1-999

     登录用户组:centos6上组id是500-60000,centos7组id为1000-60000;’

(3)总结:

用户管理命令:

A、useradd:添加用户B、查看每个用户的用户id和组id信息

  语法:useradd [options] use_rname

  常用选项:

  •  -r:创建系统用户,所谓的系统用户就是系统刚启动时还没有用户登录时,很多服务进程需要启动时必须以某个用户的身份运行,而此类用户就是系统用户。

  • -u uid:创建用户时指定用户id

  • -g gid:创建用户时指定用户的基本组id

  • -G Group_name:创建用户是指定附加组,多个组之间用逗号分隔

  • -d  dir:创建家用户时指定其家目录

  • -s shell :创建用户时指定其默认的shell

B、groupadd:添加用户组

语法:groupadd [options] group_name   

常用选项:

  • -g gid:创建组时指定用户组id,若不指定则在上一个组id的值加1

  • -r :创建系统组

C、usermod:修改用户属性

语法:usermod [options] username

 常用选项:

  • -u uid:修改uid为指定的id

  • -g gid:修改gid为指定的id

  • -G group_name:修改附加组

  • -m dir:修改家目录为指定的目录

  • -l login_name:修改登录名

  • -s shell:修改用户的默认shell

  • -L:锁定指定的用户

  • -U:对指定的用户解锁

D、userdel:删除用户

 语法:userdel [options] user_name

常用选项:

  • -r : 删除用户时同时删除其家目录

E、passwd:修改用户密码

语法:passwd [options] user_name

常用选项:

  • -d : 清除用户密码串

  • -l:锁定用户

  • -S:查看指定用户的密码状态信息

  • -u:对指定用户解锁

  • -e date:指定过期时间

  • -i :非活动时间

  • -n :密码的最短使用期限 

F、gpasswd:管理用户组

语法:gpasswd [options] group_name

常用选项:

  • -a username:将指定的用户添加到指定组中

  • -d username:将指定用户从指定的组中移除

使用示例:

(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;

useradd -u 2002 -g distro -G peguin slackware

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

usermod -s /bin/tcsh slackware

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

usermod -G admins

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

passwd -n 3 -x  180 -w 3 slackware

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

useradd -u 3003 -g clouds -G peguin,nova openstack

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

useradd -r -s /sbin/nologin mysql

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

echo "openstack"  | passwd --stdin openstack

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

(0)
LeexideLeexide
上一篇 2016-10-03 08:45
下一篇 2016-10-03 22:56

相关推荐

  • linux基础知识之nmcli

           CentOS7才有的功能网络组:将多块网卡聚合在一起的方法,从而实现冗错和提高吞吐量        网络组不同于旧版中的bonding技术,提供了更好的性能和扩展性        网路组由内核驱动和teamd守护进程实现 &n…

    Linux干货 2016-09-07
  • Homework Week-8 网络及脚本编程

    1、请描述网桥、集线器、二层交换机、三层交换机、路由器的功能、使用场景与区别。 设备 功能 使用场景 网桥 用于连接不同网段,将相似的网络连接起来,隔离信息。 连接不同部门间的局域网;连接地理位置分散并且相距较远的局域网,可以增加工作的物理距离;采用由网桥连接的多个局域网调节负载;网桥可以设置在局域网的关键部位,防止单点失常而破坏整个系统等。 集线器 对接收…

    Linux干货 2016-10-09
  • 第十二周作业

    1、请描述一次完整的http请求处理过程;     1)建立或处理连接:接收请求或拒绝请求;     2)接收请求:接收来自于网络的请求报文中对某资源的一次请求的过程;接收请求的方式通常是并发访问响应模型;     3)处理请求:对请求报文进行解析,并获取请求的资源及请求方法等相关信息,解析后的报文…

    2017-03-27
  • Linux管理目录和文件命令

     管理目录命令: pwd:显示当前目录 Cd:   改变当前目录 ls:    查看目录下的内容 rmdir: 删除目录 管理文件命令: cat: 查看文件内容 cp: 复制文件内容 grep:在文件中查找某字符 touch:创建文件 rm&nbsp…

    2016-03-05
  • 进入linux世界的初步认识

    1、 描述计算机的组成及其功能.
    2、 按系列罗列Linux的发行版,并描述不同发行版之间的联系与区别.
    3、 描述Linux的哲学思想,并按照自己的理解对其进行解释性描述.
    4、 说明Linux系统上命令的使用格式;详细介绍ifconfig、echo、tty、startx、export、pwd、history、shutdown、poweroff、reboot、hwclock、date命令的使用,并配合相应的示例来阐述.
    5、 如何在Linux系统上获取命令的帮助信息,请详细列出,并描述man文档的章节是如何划分的.
    6、 请罗列Linux发行版的基础目录名称命名法则及功用规定.

    Linux干货 2018-02-25
  • linux的发展史

                  linux的发展史     1  Linux的诞生:    1988年:芬兰赫尔辛基大学迎来一位新生-linus benedict torvalds (后面简称linus)   2 &nbsp…

    Linux干货 2016-10-19