管道,用户组管理

管道 |

    

    把左边的命令执行结果输送到右边的命令作为参数执行,可以多管道多任务执行

    这就是linux的哲学思想之一,链接程序,共同完成复杂任务

    错误输出默认不能通过管道转发,但是可以用2>&1或者|&实现

    最后一个命令会在当前shell进程的子shell进程中执行

用户:

    系统用户就是非登录式用户,此类用户一般运行于系统服务,uid为1-499(centos6);centos7为1-999

    普通用户即登录式用户,用户手动登录发起进程,uid为500开始(centos6);centos7为1000开始

    管理员用户的UID为0

组: 

     系统组GID从1-499centos6 1-999centos7

    普通组GID从500开始centos61000开始centos7

    linux安全上下文:用户键入命令运行的程序的进程是取决于用户的权限,而非命令应用程序的权限,每个进程都是以用户的身份运行的,

    进程能够访问的资源的权限取决于发起此进程的用户组又分为,主组和附加组,主组是用户唯一的组,而附加组用户可以同时拥有多个

用户和组的配置文件

    用户的配置文件在/etc/passwd和/etc/shadow

    /etc/passwd记录着用户的登录名,密码(考虑安全因素此项内容转存与/etc/shadow文件中,现在有X占位符替代原始位置),

    用户的UID,基本组GID,注释信息,家目录,默认shell,一共七项,每项用:分割开,如下

        user10:x:3009:3009::/testdir/user10:/bin/csh

    /etc/shadow记录着用户的登录名,加密算法,加了密的密码,用户最近一次更改密码的时间(从1970年一月一日到现在),

    密码的最短使用时间(在此时间内不能再次更改密码),密码的最长使用期限,密码到期前的警告时间(提醒用户更改密码),

    密码到期后的使用期限(最长使用时期结束还没有改密码的时间,超过此时间还没改密码帐号即被锁定),帐号的失效时间

    (从1970年1月1日起)

    root:$6$vddDr.3TK$ddkxg/c.snnCdmjRyO.:17014:0:99999:7:::

    组的配置文件在/etc/group和/etc/gshadow

    /etc/group记录着组组名,组密码(考虑安全因素此项内容转存与/etc/gshadow文件中,现在有X占位符替代原始位置),

    组ID,组成员列表(以此组为附加组的成员)

    /etc/gshdow记录着组名,组密码,组管理员列表,以当前组为附加组的成员的列表

用户及组管理

    用户管理类命令,useradd,usermod,userdel

        useradd 选项 登录名:添加用户

            -u:指定UID

            -o:配合-u可以强制把多个用户设置同一个UID,及不检查UID唯一性

            -g:指定用户的基本组,可为组名,也可为组GID

            -c:用户的注释信息

            -d:为用户指定家目录,此目录必须事先不存在

            -s:为用户指定shell,可以的shell都在/etc/shells/目录下

            -G:为用户添加附加组,可以有多个

            -N:不创建私有组作为主组,使用users组做主组

            -r:创建系统用户,注意系统用户的UID在centos6上是1-499,在centos7上是1-999

            创建用户的默认设定都在/etc/fefault/useradd文件中

        显示或更改默认设置可以用

            useradd -D

            useradd -D -s shell

        注意:/etc/login.defs:创建用户时的所有默认配置信息,包含家目录,密码有效期,加密算法等等等

    新建用户的相关文件和命令

        /etc/default/useradd:创建用户时的默认设定

        /etc/skel/*:创建用户时往用户家目录复制的文件

        /etc/login.defs:创建用户时的所有默认配置信息,包含家目录,密码有效期,加密算法等等等

        newusers :需要事先创建一个按照passwd格式一样的文件,然后用此命令运行文件即可批量创建用户

        chpasswd:需要事先创建一个包含了用户名的密码的文件,然后使用cat 命令查看此文件,再通过管道运行 chpasswd命令 

             即可完成用户口令修改

        usermod:用户属性修改

            -u UID:新的用户id

            -g GID:新的组ID

            -G:新的附加组,可以有多个。注意:原有的附加组会被覆盖,需要和-a选项一起使用,可以避免覆盖

            -s shell:新的默认shell

            -c :新的注释信息

            -d:新的家目录,原家目录里的文件不会同时移到新家目录,需要和-m选项一起使用,

              才可以在创建新家目录的同时把原家目录里的数据复制到新家目录

            -l:新的名字

            -L:锁定指定用户,就是在密码串前边加了个!号

            -U:解锁被锁定的用户,就是在密码串把前边加了的那个!号去掉了

            -e yyyy-mm-dd:设定用户帐号过期日期

            -f DAYS:设定非活动期限

        userdel:删除用户

            -r:删除用户的同时把用户的家目录也删除了(不建议使用此选项,因为家目录里的数据可能有用)

        id:查看用户的ID ,-u:UID,-g:GID,-G:group,-n:name

        su:切换用户

            su – 登录式切换

            su 非登录式切换

            注意:每次切换完用户需要返回原来的用户时候,最好使用exit命令

            su – username -c 'cmd'

            切换用户执行某个命令,在命令完成之后主动返回至原来的用户目录下,推荐使用

        passwd:设置密码

            不加选项代表修改自己的密码

            -l:锁定指定用户

            -u:解锁指定被锁定的用户

            -e:强制用户下次登录修改密码

            -n:指定密码最短使用期限

            -x:指定密码最长使用期限

            -w:提前多少天开始警告用户修改密码

            -i:密码过期后的非活动期限

            –stdin 可以从标准输入接收要改的密码,不错的选项,例如

            echo "centos" | passwd –stdin user

            这样就可以一次性修改密码

        groupadd:创建组

            -g:指明GID

            -r:创建系统组

            组ID和用户ID一样也是从1-499,1-999,6系和7系

        groupmod:修改组属性

            -g GID:先的GID

            -n name:新的名字

            groupdel:删除组

        gpasswd:修改组密码

            命令 选项 组名

            -a user:将user添加到组中

            -d user:将user从组中删除

            -A use1,user2:设置有管理权限的用户列表

        newgrp:临时切换基本组,如果不是本组的用户切换时需要组密码

        groupmems:更改和查看组成员

            -g groupname 更改为指定组(只有root有权限)

            -a user:指定用户加入组,和gpasswd -a 效果一样

            -d username:从组中删除用户

            -p:清除所有组成员

            -l:显示组列表

        groups命令

            groups 选项 用户名,查看用户所属列表

密码的加密

    加密机制

        加密:明文–>密文

        解密:密文–>明文

        单向加密:哈希算法,原文不同,密文必不同,相同算法定长输出,获得密文不可逆推出原始数据,

        雪崩效应:初始条件的微小变化,引起结果的巨大改变

        /etc/shadow中的$6$就代表sha512哈希算法

        文件加密算法之后的字段是salt;盐(随机数)

        authconfig –passalgo=sha256 –update 更改系统加密算法

    密码的复杂性策略

        使用数字大小写字母标点符号中至少三类。足够长,最少八位,定期更换,不要使用最近曾经用过的密码,使用随机密码

        openssl rand -base64 #(密码的位数):生成随机密码

        [root@ali ~]# openssl rand -base64 10

        y+kUyZGBpQ6b9A==

        vipw(如果担心更改密码文件出问题的话可以使用此工具,会检查输入的内容的格式是否正确) = vi /etc/passwd,

        就像使用vim 打开/etc/passwd

    pwck:检查用户信息

            示例

        [root@ali tmp]# pwck

        用户“adm”:目录 /var/adm 不存在

        用户“uucp”:目录 /var/spool/uucp 不存在

        用户“gopher”:目录 /var/gopher 不存在

        用户“ftp”:目录 /var/ftp 不存在

        用户“avahi-autoipd”:目录 /var/lib/avahi-autoipd 不存在

        用户“saslauth”:目录 /var/empty/saslauth 不存在

        用户“pulse”:目录 /var/run/pulse 不存在

        pwck:无改变

    grpck:检查组信息


原创文章,作者:M20-1马星,如若转载,请注明出处:http://www.178linux.com/27281

(0)
M20-1马星M20-1马星
上一篇 2016-08-04 14:41
下一篇 2016-08-04 14:41

相关推荐

  • 硬盘分区MBR和GPT选哪个好?有什么区别?

    当前主流的硬盘分区方式有两种:MBR和GPT。 一、MBR与GPT简介与结构 什么是MBR?         MBR,全称为Master Boot Record,即硬盘的主引导记录。是对IBM兼容机的硬盘或者可移动磁盘分区时,在驱动器最前端的一段引导扇区。 MBR的组成部分       &…

    Linux干货 2016-08-29
  • 相识–Varnish

    Varnish与一般服务器软件类似,分为master(management)进程和child(worker,主要做cache的工作)进程。master进程读入命令,进行一些初始化,然后fork并监控child进程。child进程分配若干线程进行工作,主要包括一些管理线程和很多woker线程。 VCL: ”域“专有类型的配置语言 VCL有多个状态引擎,状态之间…

    Linux干货 2017-11-13
  • 使用NFS和Samba文件服务搭建博客站点

    使用NFS和Samba文件服务搭建博客站点 实验目的:分别使用NFS和Smaba文件服务实现wordpress 实验要求: (1) server导出/data/application/web,在目录中提供wordpress; (2) client挂载nfs server导出的文件系统至/var/www/html;(3) 客户端1(lamp),部署w…

    2017-04-30
  • 关于man的几个重要命令

    接触Linux有很多年了,以前对于linux我觉得自己懂得的还算一般吧,可是听了马哥的关于linux的视频课程,发现自己就是一个还没入门的菜鸟,所以果断的狠心的报了马哥的网络班,拜在马哥旗下,以后就打着马哥的旗号到外面混,哈哈最初的这几天学习,因为工作和时间的等等等的关系,所以才到现在还在赶着写我的博客作业,现在就最有感触的几个命令串联一下。学习linux肯…

    Linux干货 2016-10-31
  • N26第一周作业

    第一周作业   1. 描述计算机的组成及其功能。   计算机主要由处理器(CPU)、存储器、输入设备、输出设备。 CPU由运算器、控制器、寄存器、缓存器组成,提供运算。 存储器即内存,RAM(Random Access Memory),内存为cpu运算时提供数据存储。 Input:用户下指令的设备,使计算机能够与用户进行交互。 Outpu…

    Linux干货 2017-01-03
  • Linux DNS服务系列之原理介绍及正反向解析配置

    前言 我们在访问一个网站的时候,只要输入该网站的网址就会跳转到该网站页面,而实现这一过程就需要DNS服务器将域名解析为IP地址,进而实现数据通信。那么DNS服务器是如何工作的呢?本系列分为两部分,本文将详解DNS服务原理及正反向解析配置。 DNS服务原理详解 DNS相关知识 DNS:Domain Name Service,域名解析服务 监听端口:udp/53…

    Linux干货 2015-04-13