用户



用户系统也是通过一个文件来管理的,默认的root用户id是0,

shadow文件说明



加密算法类别



$后面的数字6指定了加密算法使用的是第六种,sha512加密

增加用户,修改成同样的密码,查看/etc/shadow文件,可以看到,虽然两个密码字符串是一样的,但是在shadow文件中看到两个加密字符串是不一样的,这是因为同一个明文字符串在生成加密密文的时候采用了加盐加密算法,

/etc/passwd用户信息库文件的格式说明





用户名 centos

密码 新建用户不指定密码的话,由占位符x占位,改变密码后x由加密密码密文代替

uid 用户id值 1001

主组id 1001

注释信息, 可置空

家目录 /home下的家目录

默认的shell

添加用户 useradd

有些系统是adduser,查看文件属性,可以发现其实就是useradd的链接

``的作用是将which adduser的输出结果作为入参传给file命令



默认添加用户,会自动生成一个用户同名组。且默认uid跟gid相同,如果出现其他占用,则在原基础上加1

指定uid

指定组名

-g后须跟已存在的组名或者组id,不然无法创建

-G 后面跟的是一个组列表,指明该用户同时属于这么多的组

添加用户描述信息

创建用户时为其指定shell程序



查看系统当前支持的shell

cat /etc/shalls

[root@yy ~]# cat /etc/shells
/bin/sh
/bin/bash
/usr/bin/sh
/usr/bin/bash

指定家目录路径

在指定路径之前,需确认目的路径是空的,不然无法创建,且不会从skel中复制用户环境配置文件进去

查看当前useradd的默认参数配置



create_mall_spool 默认会在 /var/spool/mail/下创建一个和用户名同名的文件夹,用来接收邮件信息

修改默认配置项,以后使用useradd的时候不指定参数就按照默认参数进行创建



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

默认用户配置文件 /etc/login.defs

MAIL_DIR        /var/spool/mail   #用户的默认邮件目录
PASS_MAX_DAYS 99999 #密码的最大有效期
PASS_MIN_DAYS 0 # 密码的最小天数
PASS_MIN_LEN 5 # 密码最小长度
PASS_WARN_AGE 7 # 密码告警等级
UID_MIN 1000 # 用户id起始值 1000,才centos6中是500
UID_MAX 60000 # 用户id最大值 60000, 起始可以有65535,2的16次方
SYS_UID_MIN 201 # 系统用户最小id值
SYS_UID_MAX 999 # 最大值
GID_MIN 1000 # 组id最小值
GID_MAX 60000 # 组id最大值
SYS_GID_MIN 201
SYS_GID_MAX 999
CREATE_HOME yes # 是否创建家目录
UMASK 077 # 用户掩码
USERGROUPS_ENAB yes # 创建用户的时候自动创建组
ENCRYPT_METHOD SHA512 # 使用的密码加密方式。sha512是第6中

在创建用户的时候,回为其自动创建组,一般用户id和组id是相同的,如果在其他地方被占用,就在原来的基础上进行加1.以后创建的用户,如果不指定id,那么就在前一个用户的基础上对uid和gid进行递增

用户家目录的产生:

在使用useradd添加用户后,在/homt/下会自动生成一个同名的文件夹,进入文件夹是空的,但是有几个隐藏的用户环境配置文件.bash_logout .bash_profile .bashrc

该文件夹的产生的默认配置中,有一个配置项SKEL=/etc/skel,查看该路径,发现在其目录下。默认的就有这三个隐藏文件.bash_logout .bash_profile .bashrc,所以,使用useradd创建用户家目录的时候,使用默认的skel(骨骼)文件夹,将内部的文件拷贝到/home下,这才有了用户的家目录。

usermod

修改系统已经存在的用户属性

userdel

删除用户

将会删除用户在 /etc/passwd 和 /etc/shadow中的记录,但是从数据安全出发,默认情况下,删除用户并不会删除用户的家目录和邮件信息,可以使用 -r 来同时删除家目录和邮件,

参数r的作用

passwd





使用标准输入来修改密码

id



su 和newgrp

charge

更改用户密码过期时间

用户组也是可以加密的

加密算法



用户/组 管理文件



添加用户组 groupadd

创建一个系统组



更改组模式

删除组

gpasswd

总结

三个关键文件的总结



用户及组的概念,就是将多用户的文件进行权限划分,使得不混乱。

useradd/usermod/userdel/passwd/groupadd/groupmod/groupdel/gpasswd的更多相关文章

  1. lesson - 5 课程笔记 which/ type / whereis /locate /pwd / etc/passwd/ shadow/ group / gshadow /useradd /usermod /userdel /passwd / su sudo

    一.which 作用: which 命令用于查找并显示给定命令的绝对路径,环境变量PATH中保存了查找命令时需要遍历的目录, which 命令会在环境变量$PATH 设置的目录里查找符合条件的文件.也 ...

  2. 组管理命令--groupadd.groupmod.groupdel.gpasswd

    添加用户组 格式 groupadd [参数] 组名 参数选项 -g GID:指定新组的GID,默认值是已有的最大的GID加1.-r:建立一个系统专用组,与-g不同时使用时,则分配一个1-499的GID ...

  3. linux 用户、用户组及相关命令(useradd 、passwd、userdel 、groupadd 、groupdel、usermod 、gpasswd 、 id、su)

    linux是一个多用户系统,用于权限管理(权限最小化); 相关命令: 7 8 9 10 11 12 13 14 15 useradd passwd userdel groupadd groupdel ...

  4. 账户管理groupadd groupmod groupdel usermod usermod userdel

    http://www.cnblogs.com/ggjucheng/archive/2012/08/21/2648380.html http://blog.csdn.net/qq1603013767/a ...

  5. 【每天一个Linux命令】10. 用户账号的新建/修改/删除以及密码修改 useradd/usemod/userdel/passwd

    在 Linux 系统中,与用户管理有关的文件主要有如下几个:分别是/etc/passwd,/etc/shadow,/etc/gfoup,/etc/gshadow .它们分别与用户的账号,密码,用户组及 ...

  6. Linux学习历程——Centos 7 账户管理命令(用户组篇)groupadd groupmod groupdel

    一.命令介绍 groupadd:创建用户组 groupmod:修改用户组属性 groupdel:删除用户组 ---------------------------------------------- ...

  7. Linux学习历程——Centos 7 账户管理命令(用户篇)useradd usermod userdel

    一.命令介绍 useradd     用于创建新的用户 usermod    用于修改用户属性 userdel      用于删除用户 -------------------------------- ...

  8. 2017-06-27(useradd usermod userdel 禁止普通用户登录)

    useradd useradd  -g  组名  用户名  (添加新用户,并将其添加到指定的主用户组) useradd  -g  组名  -G 附属组名  用户名  (添加新用户,并将其添加至指定主用 ...

  9. 2017-06-26(groupadd groupmod groupdel)

    groupadd groupadd  组名  (创建用户组) groupadd -g  组编号   组名 (创建组名 并且指定编号) groupmod groupmod  -n   新组名  旧组名 ...

随机推荐

  1. 机器猫css

    <html> <head>  <title>机器猫</title>  <style>   div{    width: 30px;    h ...

  2. Python第三方库资源

    [转载]Python第三方库资源   转自:https://weibo.com/ttarticle/p/show?id=2309404129469920071093 参考:https://github ...

  3. Windows一键设置环境变量(以设置java环境变量为例)

    右击以管理员方式运行 JDKSetting.bat   @echo off color 0a echo.------------------------------------ echo.TODO:设 ...

  4. Linux 创建用户 用户组 用户权限

    首先 你要有个root账号 然后才能做下面几条操作: useradd username 创建用户usernamepasswd user_pwd     给已创建的用户username设置密码 关于us ...

  5. System.Data.EntityException: The underlying provider failed on Open.

    场景:IIS默认站点建立程序,使用Windows集成身份验证方式,连接SQLServer数据库也是采用集成身份验证.我报“System.Data.EntityException: The underl ...

  6. svg使用

    Vue.component('XSvg', () => import('./abc-svg'))    <x-svg             icon-name="personl ...

  7. mysql 8.0.13开启远程连接 配置方式

    1:linux登录mysql [root@localhost mysql]# mysql -u root -p Enter password: Welcome to the MySQL monitor ...

  8. linux pthread多线程编程模板

    pthread_create() 创建线程,pthread_join()让线程一直运行下去. 链接时要加上-lpthread选项. pthread_create中, 第三个参数为线程函数,定义如下: ...

  9. 【原创】大叔经验分享(82)logstash一个实例运行多个配置文件

    logstash一个实例运行多个配置文件,将所有配置文件放到以下目录即可 /usr/share/logstash/pipeline 但是默认行为不是每个配置文件独立运行,而是作为一个整体,每个inpu ...

  10. Java BIO、NIO、AIO 基础,应用场景

    Java对BIO.NIO.AIO的支持: Java BIO : 同步并阻塞,服务器实现模式为一个连接一个线程,即客户端有连接请求时服务器端就需要启动一个线程进行处理,如果这个连接不做任何事情会造成不必 ...