linux用户,组管理

linux用户,组管理

用户的登陆过程:

用户要使用linux系统,必须先进行登陆,linux的登陆过程和Windows登陆过程类似,登陆的过程包括以下几个步骤

1.当linux系统正常引导启动完成后,系统就可以正常接纳用户登陆,用户界面会显示“login:”提示符。如果是图形界面就会显示用户登陆窗口

2.用户输入用户后系统会检查/etc/passwd是否有该用户,存在则进入下一步,不存在则退出

3.首先读取/etc/passwd中的用户id和组id,同时该用户的其他信息也会一并读取出来

4.用户输入密码以后,系统通过检查/etc/shadow来判断用户密码是否正确,如果密码校验正确则显示用户的默认shell完成登陆。用户shell的类型由?/etc/passwd文件来决定。

用户的类型

linux系统的用户类型分为三类

系统用户:正常运行系统所使用的账户,比如某一个进程 系统用户是不能登陆的

管理员用户:root用户,拥有系统的一切权限

普通用户:普通的使用者,能使用linux的大部分资源

linux会给每个用户一个二进制数字来标识用户:0-65535

各个不同用户类型使用不同段的id来标识:管理员的为0 普通用户为1-65635,其中系统用户为1-499这是centos7以下的版本,centos为1-999;普通用户为500-60000 centos7则为1000-60000

linux系统用户的认证方式是事先存储然后登陆时进行比对信息是否一致.这里会分别对用户的id和密码在/etc/passwd和/etc/shadow文件

/etc/passwd

该文件为纯文本格式,只有root用户能读取 每个字符段用:号隔开。一共分七个字段

root:x:0:0:root:/root:/bin/bash

分别对应的是:用户名:密码:UID:GID: 相关注释:家目录:使用的shell

(如果用户第一行为*的话表示该用户为禁用)

/etc/shadow

该文件也为文本格式,也只有root用户能读取到;和/etc/passwd文件相似分为九个字段

root:$6$9zNMhBI08X3AD3wE$Urd3TwfeedV0IZI2hlyy54RRikcemVQ1z6lme1w7GQja9tb74DwGIgFwA5EUhQ0LJGDFBCIYK7S90CjQesrVc/::0:99999:7:::

每个字段分别对应的是:用户名:加密后的密码:上次修改密码的时间:密码最短使用天数:密码的最长使用天数:密码警告期:过期期限:保留字段

密码的使用策略:

1、使用随机密码;

2、最短长度不要低于8位;

3、应该使用大写字母、小写字母、数字和标点符号四类字符中至少三类;

4、定期更换;

用户组

用户组是用户的容器每个用户都有一个属于自己的私有组。

用户组的分类有三种

1.按权限:管理员组,普通用户组(包含有登陆组和系统组)

2.按组的类别:用户的基本组,用户的附加组(用户可以属于一个基本组和多个附加组)

3.类别:私有组(组名和用户名相同,且之包含一个用户),公共组(组内包含了多个用户)

用户组的文件也有两种:/etc/group,/etc/gshadow

/etc/group:

保存用户组的所有信息,格式同上,只有四个字段

root:x:0:

对应的是:用户组名:用户组密码:用户组标识:组内用户列表

密码的加密算法

linux用户的密码的加密算法是属于单向加密,只能加密不能解密,释以提取数据特征码的形式进行加密的。密码常见的算法有MD5,sha,sha224,sha256…..

linux用户和组的管理命令

用户管理命令

useradd:创建用户
    sueradd [选项]  登陆名
    -u:指定UID
    -g:指定GID
    -G:指明用户的附加组,多个附加组之间用逗号隔开
    -c:指明注释信息
    -d:以指定路径为用户的家目录,通过复制/etc/skel此目录并重命名实现,指定的家目录如果实现存在则不会为用户复制配置环境文件
    -s:为用户指定默认shell,可用的shell列表存储在/etc/shells文件中
    -r:创建系统用户
    -D:显示创建用户的默认配置
sueradd -D 选项:修改默认选项的值
注意:创建用户是的诸多默认设定配置文件为/etc/login.defs

usermod:修改用户属性
    usermod [选项] 登录名
    -u:修改用户id为此处指定的新id
    -g:修改用户所属的基本朱
    -G [GROUP1] [GROUP2]:修改用户所属的附加组,原来的附加组会被覆盖
    -a:与-G一同使用,表示为用户追加附加组
    -c:修改注释信息
    -d:自该用户的家目录,用户原有文件不会被转移覆盖
    -m:只能与-d一同使用,用于将原来的家目录移动为新的家目录
    -l:修改用户名
    -s:修改用户默认shell
    -L:锁定用户密码,即在用户原来的密码字符串之前添加一个!
    -U:锁定用户的密码

suerdel:删除用户
    userdel [选项] 登录名
    -r:删除用户时一并删除其家目录

passwd:修改密码
    passwd:修改用户自己的密码
    passwd USERNAME:修改指定用户的密码,只有root有此权限
    -l,-u:锁定和解锁用户
    -a:清楚用户密码串
    -e DAYS:过期期限
    -i DAYS:非活动期限
    -n DAYS:密码的最短使用期限
    -x DAYS:密码的最长使用期限
    -w DAYS:警告期限
    --stdin:echo “PASSWORD” | passwd --stdin USERNAME

gpasswd:修改组密码
    gpasswd [选项] GROUP
    -a USERNAME:向组中添加用户
    -d USERNAME:从组中移除用户

newgrp:临时切换到指定的组为基本组
    newgrp [-] [group]
    -:会模用户重新登录以实现初始化其工作环境

chage:更改用户密码过期信息
    cheage -[d E W m M] 登录名

id:显示用户的组和有效id
    id [OPTION] ....[USER]
    -u:仅显示有效的UID
    -g:仅显示有效的GID
    -G:仅显示用户所属的所有组ID
    -n:显示名字而非ID

su:用户切换
    登录式切换:会通过读取目标用户的配置文件来重新初始化
    su - USERNAME
    su -l USERNAME
    非登录式切换:不会读取用户配置信息进行初始化
    注:管理员可屋密码切换至任何用户
    -c ‘COMAND’:以指定用户的身份运行此处指定的命令

练习1:创建用户gentoo,UID为4001,基本组为gentoo,附加组为distro(GID为5000)和peguin(GID为5001);

groupadd -g 5000 distro

groupadd -g 5001 peguin

useradd -u 4001 -G distro,peguin

练习2:创建用户fedora,其注释信息为"Fedora Core",默认shell为/bin/tcsh;

useradd -c Fdeora -s tash

练习3:修改gentoo用户的家目录为/var/tmp/gentoo;要求其原有文件仍能被用户访问;

usermod -d /var/tmp/gentoo gentoo

练习4:为gentoo新增附加组netadmin;

usermod -Ga netadmin gentoo

原创文章,作者:N24-执念,如若转载,请注明出处:http://www.178linux.com/64216

(0)
N24-执念N24-执念
上一篇 2016-12-19
下一篇 2016-12-19

相关推荐

  • 关于大型网站技术演进的思考(十五)–网站静态化处理—前后端分离—中(7)

    原文出处: 夏天的森林    上篇里我讲到了一种前后端分离方案,这套方案放到服务端开发人员面前比放在web前端开发人员面前或许得到的掌声会更多,我想很多资深前端工程师看到这样的技术方案可能会有种说不出来的矛盾心情,当我的工作逐渐走向越来越专业化的前端开发后,我就时常被这套前后端分离方案所困惑,最近我终于明白了这个困惑的本源在哪里…

    Linux干货 2015-03-11
  • Linux基础之安全加密及CA、证书实战应用

    一、建立私有CA并让客户端申请请求,需要两台虚拟机完成 1、建立私有CA,生成私钥 2、CA公司给自己,生成自签证书 3、为CA提供所需要的目录及文件(如果事先存在,此步骤可以跳过) 二、CA公司已建立,需要一台客户机配合CA签署证书 1、客户端用到证书,因此生成私钥 2、客户端生成证书签署请求 3、将请求通过可靠方式发送给CA主机,这里作为测试,因此使用s…

    Linux干货 2016-10-04
  • Linux命令格式及基础命令使用

    Linux命令格式command [选项] [参数]其中 选项 以 – 开始,多个选项可用一个-连起来,如ls -l -a 与ls -la相同。根据命令的不同,参数分为可选的或必须的。ifconfig格式:ifconfig [网络设备] [参数]命令功能:命令用来查看和配置网络设备。当网络环境发生改变时可通过此命令对网络进行相应的配置。示例 :i…

    Linux干货 2018-03-03
  • Linux第三周

    一.正则表达式和扩展正则表达式 1.首先有各种工具来对文本进行的查看,分析,统计   cat 命令:查看文本的工具    cat主要有三大功能:1.一次显示整个文件。$ cat filename2.从键盘创建一个文件。$ cat > filename     只能创建新文件,不能编辑已有文件.…

    2017-06-04
  • class13 shell编程(五)软件包管理(三)

    一、shell编程(五) 位置变量补充 shift (踢掉参数) shift                #! /bin/bashecho "1st arg …

    Linux干货 2016-08-24
  • 面授20期2班-08月4号课堂与课后习题

    课堂习题 1、显示/etc/init.d/functions文件中所有的单词及出现的次数 cat /etc/init.d/functions | tr -sc "[:alpha:]" '\n' |sort | uniq -c 2、找出ifconfig命令结果中本机的所有IPv4地址 centos6:ifconfig | h…

    Linux干货 2016-08-08