Linux用户管理

Linux系统跟Windows系统一样,可以创建不同的用户,不同的用户组。在不同用户下使用系统具有相应的权限

  1. 创建一个普通用户时,会修改几个文件,拷贝一些初始文件到用户家目录中

修改的文件路径为

/etc/passwd

/etc/shadow

/etc/group

/etc/gshadow

拷贝到用户家目录下的文件为

.bash_logout .bash_profile .bashrc

如果错误的把root用户下的这三个文件删除,再切换回root用户时会不成功,解决办法为:

这三个文件的原始存放路径为/etc/skel/,

只需将其拷贝回root家目录中即可:cp /etc/skel/.bash* .

最后执行命令source .bash_profile解决问题

 

2、/etc/passwd的详细介绍

saslauth:x:499:76:Saslauthd user:/var/empty/saslauth:/sbin/nologin

postfix:x:89:89::/var/spool/postfix:/sbin/nologin

sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin

tcpdump:x:72:72::/:/sbin/nologin

localhost:x:500:500::/home/oldboy:/bin/bash

cat /etc/passwd截取部分内容

第一列:用户名

第二列:x代表有密码

第三列:UID(每个用户唯一的编号)

第四列:GID(每个组唯一的编号)

第五列:备注(在创建用户时输入useradd -c 用户名 就能指定备注)

第六列:家目录

第七列:指定登陆之后使用的shell解释器shell的作用:把用户的命令解析之后传给内核来执行

执行命令cat /etc/shells查看shell解释器的类别

[root@localhost ~]# cat /etc/shells

/bin/sh

/bin/bash

/sbin/nologin

/bin/dash

/bin/tcsh

/bin/csh

 

3、/etc/shadow的详细介绍

saslauth:!!:17613::::::

postfix:!!:17613::::::

sshd:!!:17613::::::

tcpdump:!!:17613::::::

localhost:$6$k3Vi5V8s$yf1LQdFvK0nX5UvndAqYJe9vOUFHadvK5Og7N3kOLw4ayG.za/Ft2KmU4Uhe1w8ejN1iL.tRBeMyDwdb7qT66.:17624:0:99999:7:::

cat /etc/shadow截取部分内容,可以通过命令man 5 shadow查看说明

第一列:用户名

第二列:加密之后的密码(没有密码时是两个!号)

第三列:上一次密码改变的时间(距离1970年的天数)

第四列:密码最少使用时间,0表示不限制(不能频繁改密码)

第五列:密码最多使用时间(限定改密码的周期)

第六列:密码警告周期(提前提醒密码到期的时间)

第七列:密码禁用周期(密码到期后禁用用户的周期)

第八列:指定密码到期的具体日期

第九列:预留

 

4、创建用户的原理

cat /etc/default/useradd查看默认配置

[root@localhost ~]# cat /etc/default/useradd

# useradd defaults file

GROUP=100

HOME=/home    家目录的基础目录

INACTIVE=-1        密码过期后,账户被彻底禁用之前的天数

EXPIRE=                过期时间

SHELL=/bin/bash    指定默认的shell解释器

SKEL=/etc/skel    指定骨架目录

CREATE_MAIL_SPOOL=yes    是否创建邮箱

 

5、UID的范围

0-100        Linux系统预留

101-499        系统账号(服务)

500-60000    普通用户

 

6、useradd命令

参数及说明Options:

-g    --gid GROUP name or ID of the primary group of the new account

指定用户组 useradd -g 组id b5 或者useradd -g 组名 b5

例子:

useradd -g 814 b5 或者 useradd -g incahome b5

-G    --groups GROUPS list of supplementary groups of the new account

指定多个用户组,useradd -G 多个组名或组id 用户名

例子:

useradd -G test,incahome,a1 b6

-m    --create-home create the user's home directory 创建家目录

-M    --no-create-home do not create the user's home directory 不创建家目录        

例子:

useradd -M -s /sbin/nologin b8

-p    --password PASSWORD encrypted password of the new account

指定固定加密的密码

例子:

useradd -p 'ezNHdD48mHkGw' c1

        生成加密密码的方式openssl passwd 123456

-s        --shell SHELL login shell of the new account

不登录

例子:

useradd -M -s /sbin/nologin b9

-u        --uid UID user ID of the new account

指定用户uid,方便多台机器同步共享文件

例:

[root@localhost ~]# useradd -u 608 web

[root@localhost ~]# id web

uid=608(web) gid=608(web) groups=608(web)

不常用的参数

-b     指定基础目录

-c     指定备注信息

-d     指定用户的家目录

-e    过期时间

-f     禁用时间

 

7、chage命令

该命令用于密码时效管理。它可以修改账号和密码的有效期

[root@localhost ~]# chage

用法:chage [选项] 登录

选项:

-d, --lastday 最近日期     将最近一次密码设置时间设为"最近日期"

-E, --expiredate 过期日期     将帐户过期时间设为"过期日期"

-h, --help     显示此帮助信息并推出

-I, --inactive INACITVE     过期 INACTIVE 天数后,设定密码为失效状态

-l, --list     显示帐户年龄信息

-m, --mindays 最小天数 将两次改变密码之间相距的最小天数设为"最小天数"

-M, --maxdays 最大天数 将两次改变密码之间相距的最大天数设为"最大天数"

-R, --root CHROOT_DIR chroot 到的目录

-W, --warndays 警告天数 将过期警告天数设为"警告天数"

 

8、其他相关命令

usermod    修改用户参数

groups        查看用户所在的组

newgrp        切换用户组,如果切换到其他用户的用户组,需要输入group组密码

gpasswd     设置组密码

 

博主原创文章,转载请务必注明出处

Linux学习之十六-Linux用户管理的更多相关文章

  1. Linux学习笔记 (六)用户管理命令

    一.用户帐号 1.超级用户:具有操作系统中的最高权限,用来管理和维护操作系统.root用户. 2.普通用户:由root用户来创建,在宿主目录中具有完全权限. 3.程序用户:由应用程序添加,维护某个应用 ...

  2. linux基础-第十六单元 yum管理RPM包

    第十六单元 yum管理RPM包 yum的功能 本地yum配置 光盘挂载和镜像挂载 本地yum配置 网络yum配置 网络yum配置 Yum命令的使用 使用yum安装软件 使用yum删除软件 安装组件 删 ...

  3. Linux学习之十九-Linux磁盘管理

    Linux磁盘管理 1.相关知识 磁盘,是计算机硬件中不可或缺的部分磁盘,是计算机的外部存储器中类似磁带的装置,将圆形的磁性盘片装在一个方的密封盒子里,这样做的目的是为了防止磁盘表面划伤,导致数据丢失 ...

  4. Linux学习(十六)VIM

    一.简介 VIM是vi的增强版.VIM是Linux平台上的主要编辑器.基本上所有的文档的新增,修改,保存都需要用到它.所以,掌握VIM是很有必要的. vim的安装非常简单,一条命令就可以了: yum ...

  5. Linux学习之十八-sudo分权管理

    sudo分权管理 1.为什么需要sudo? 当我的主机是多人共管的环境时,如果大家都使用 su 来切换成为 root 的身份,那么就得每个人知道 root 的密码,这样密码太多人知道可能会流出去,很不 ...

  6. Linux 常用命令十六 文件权限管理

    一.ls -l 各段含义 wang@wang:~/workpalce/threading$ ls -l 总用量 drwxrwxr-x wang wang 12月 : a -rw-rw-r-- wang ...

  7. Linux学习之十六、文件的格式化与相关处理

    原文地址:http://vbird.dic.ksu.edu.tw/linux_basic/0330regularex_4.php 文件的格式化与相关处理 接下来让我们来将文件进行一些简单的编排吧!底下 ...

  8. Linux学习之十二-Linux文件属性

    Linux文件属性 在Linux中,对于每个文件都有相应属性,以Linux中root用户家目录下新建文件a.txt为例,在a.txt中输入几个字符 使用命令ls -ild a.txt查看文件的权限等 ...

  9. linux学习(十)linux安装MySQL

    一.前言 由于我使用的是阿里云的服务器,后面会加入配置阿里云的部分,非阿里云的linux系统可以省略后面的步骤,根据自己系统的情况进行配置~ PS:我安装的是mysql5.7.24的版本,其他版本的M ...

随机推荐

  1. csu-2018年11月月赛Round2-div1题解

    csu-2018年11月月赛Round2-div1题解 A(2191):Wells的积木游戏 Description Wells有一堆N个积木,标号1~N,每个标号只出现一次 由于Wells是手残党, ...

  2. Leetcode 491.递增子序列

    递增子序列 给定一个整型数组, 你的任务是找到所有该数组的递增子序列,递增子序列的长度至少是2. 示例: 输入: [4, 6, 7, 7] 输出: [[4, 6], [4, 7], [4, 6, 7] ...

  3. 如何利用c++编写不能被继承、但可以在类外定义对象的类

    #include <iostream> #include<string> #include<map> #include<vector> #include ...

  4. docker (centOS 7) 使用笔记5 - weave网络

    weave官网 https://www.weave.works 1. 下载安装 sudo curl -L git.io/weave -o /usr/local/bin/weave sudo chmod ...

  5. 【WC2019笔记】IOI2018 / ACM题目选讲

    哇!济南的 rqy 大佬讲课!就是 $luogu$ 上有名的那位! 上面这句话写错了,请大家无视 XylophoneIOI2018 练习赛 T2题意:交互提有一个 $0\sim n-1$ 的排列,保证 ...

  6. 预编译scss以及scss和less px 转rem

    预编译scss步骤: 1 搜索ruby并安装,点击 2 安装sass: 3 在hubuilder工具中设置预编译: 触发命令地址为ruby安装地址 命令参数为 %FileName% %FileBase ...

  7. 【01】npm/cnpm安装

    包安装相关信息: 1.node_modules文件夹 node_modules文件夹在nodejs中是一个特殊的文件夹,通过它的名字就可以看出,该文件夹也是用于存放node模块.如果一个模块表达式不是 ...

  8. Jib构建你的第一个java镜像

    jib Official:GoogleContainerTools/jib 本文示例完整demo github地址 github.com/moxingwang/- 想要了解并且使用jib,首先你得知道 ...

  9. 用 config drive 配置网络

    上一节最后问了大家一个问题:如果 subnet 没有开 DHCP,会是怎样一个情况? 在其他条件不变的情况下,cloud-init 依然会完成那 3 个步骤,也就是说网卡还是会被配置成 dhcp 模式 ...

  10. .net显示今天农历的代码!

    原文发布时间为:2010-04-11 -- 来源于本人的百度文章 [由搬家工具导入] using System;using System.Globalization;//namespace Proje ...