用户管理配置文件
用户信息文件:/etc/passwd
密码文件:/etc/shadow
用户配置文件:/etc/login.defs /etc/default/useradd
新用户信息文件:/etc/skel
用户组文件:/etc/group
用户组密码文件:/etc/gshadow

用户信息文件:/etc/passwd

对应解释如下:

用户信息文件
字段 含义                    
用户名 用户登录系统时使用的用户名
密码 密码位
UID 用户标识码
GID 缺省组标识码
注释性描述 例如存放用户全名等信息
宿主目录 用户登录系统后的缺省目录
命令解释器 用户使用的Shell,默认为bash

Linux用户一般分为3种

超级用户(root UID = 0)

  一般来说UID为0的是超级用户

普通用户(UID = 500 -60000)

  普通用户安装UID=500开始递增

伪用户(UID 1-499)

  伪用户一般是linux系统和进程服务相关的,比如bin、daemon 、shutdown等,任何linux系统都有这些伪用户,比如我们进行相关操作其实就是调用了系统的伪用户的身份,在linux系统里任何进程操作都必须要有一个用户身份。伪用户一般无法登陆系统。

密码文件

/etc/shadow

用户组

每个用户至少属于一个用户组

每个用户组可包括多个用户

同一个用户组的用户享有该组的共有权限

文件/etc/group 文件格式

添加用户组:groupadd[配置项][组名]

形如:groupadd -g 1001 webs

删除用户:groupdel[组名]

形如:groupadd webs

修改用户组:groupmod -n [新组名][旧组名]

查看用户属于哪些用户组:groups u1

添加用户

添加用户useradd 设置选项 用户名 -D 查看缺省参数

  u:UID

  g:缺省所属用户组的名称或GID

  G:指定用户所属多个组

  d:宿主目录

  s:命令解释器shell

  c:描述信息

  e:指定用户失效时间

  示例:useradd -u 1002 -g webapps -G sys,root -d /web -s /bin/bash -c "is a u2" -e 2019-12-12

修改用户:usermod -l [新用户名] [旧用户名]

  示例:usermod -l u3 u2

删除用户:userdel -r u

设置用户禁用和恢复

  禁用:

  usermod -L [用户名]

  passwd -l [用户名]

  恢复

  usermod -u [用户名]

  passwd -U [用户名]

操作用户组

命令:gpasswd

  -a 添加用户到用户组中

  -d 从用户组中删除用户

  -A 设置用户组管理员

描述:管理组内成员

示例:gpasswd -a u1 webapps

用户组授权

架构师养成记--25.linux用户管理的更多相关文章

  1. 架构师养成记--24.linux常用命令

    一.Linux 文件 根据上文Linux 文件说明1.文件的rwx    d开头表示文件夹,    -开头的表示文件,    l开头表示链接文件    r:read,w:write,x:execute ...

  2. 架构师养成记--9.future模式讲解

    什么是future模式呢?解释这个概念之前我们先来了解一个场景吧,财务系统的结账功能,这个功能可能是每个月用一次,在这一个月中相关的数据量已经积累得非常大,这一个功能需要调用好几个存储过程来完成.假如 ...

  3. 架构师养成记--37.简单shell编程

    一.HelloWord.sh echo 表示打印,可以在sh文件中写诸如pwd.ls 这样的命令,使用命令的时候尽量使用全路径. #!/bin/sh #this is my first sh echo ...

  4. 架构师养成记--35.redis集群搭建

    前记:redis哨兵经验之谈.哨兵做主从切换可能要花费一两秒,这一两秒可能会丢失很多数据.解决方法之一是在java代码中做控制,try catch 到 链接断开的异常就sleep 一两秒钟再conti ...

  5. 架构师养成记--23.sigar使用实例

    作用是检测机器的硬件环境 注意在jdk的bin目录下加上sigar的lib目录中的文件 import java.net.InetAddress; import java.net.UnknownHost ...

  6. 架构师养成记--15.Disruptor并发框架

    一.概述 disruptor对于处理并发任务很擅长,曾有人测过,一个线程里1s内可以处理六百万个订单,性能相当感人. 这个框架的结构大概是:数据生产端 --> 缓存 --> 消费端 缓存中 ...

  7. 架构师养成记--14.重入锁ReentrantLock 和 读写锁 ReentrantReadWriteLock

    ReentrantLock 有嗅探锁定和多路分支等功能,其实就是synchronized,wait,notify的升级. this锁定当前对象不方便,于是就有了用new Object()来作为锁的解决 ...

  8. 架构师养成记--12.Concurrent工具类CyclicBarrier和CountDownLatch

    java.util.concurrent.CyclicBarrier 一组线程共同等待,直到达到一个公共屏障点. 举个栗子,百米赛跑中,所有运动员都要等其他运动员都准备好后才能一起跑(假如没有发令员) ...

  9. 架构师养成记--11.Executor概述

    常用方法 Executors.newFiexdPool(int nThreads);固定线程数量的线程池: Executors.newSingleThreadExecutor();单个线程的线程池: ...

随机推荐

  1. ios 单个ViewController屏幕旋转

    如果需要旋转的ViewController 使用了UINavigationController,对UINavigationController进行如下扩展 @implementation UINavi ...

  2. php多进程pcntl学习(采集新浪微博)

    上面2篇文都简明了多进程中一些需要注意的地方,这次用多进程配合curl_mulit_*来做新浪微博的采集. 先把知识点和值得注意的坑列出 /* 需求:开3个进程,并且模拟多线程来采集新浪微博用户信息, ...

  3. PHP开启页面报错的代码

    PHP开启页面报错的方法很简单,在<?php内加入下面的代码就可以了: <?php ini_set("display_errors", "On"); ...

  4. 转载:字符串hash总结(hash是一门优雅的暴力!)

    转载自:远航休息栈 字符串Hash总结 Hash是什么意思呢?某度翻译告诉我们: hash 英[hæʃ] 美[hæʃ]n. 剁碎的食物; #号; 蔬菜肉丁;vt. 把…弄乱; 切碎; 反复推敲; 搞糟 ...

  5. IntelliJ IDEA 2017版 快捷键CTRL + SHIFT + A无效如何调试(详细的开启idea自动make功能 )

    1.前景描述 因为我把编译器的快捷键都设置成eclipse模式了,所以要做热部署的时候,需要CTRL + SHIFT + A --> 查找Registry --> 找到并勾选compile ...

  6. 组队作业_One

    Part 1.前言 结对项目作业 结对同学高裕翔的博客 本博文pdf版本 Part 2.PSP表 PSP3.1 Personal Software Process Stages 预估耗时(分钟) 实际 ...

  7. OpenGL中的需要注意的细节问题

    OpenGL中的需要注意的细节问题 1. 虽然我们使用Windows的BMP文件作为纹理时,一般是蓝色的像素在最前,其真实的格式为GL_BGR而不是GL_RGB,在数据的顺序上有所 不同,但因为同样是 ...

  8. weevely入手使用笔记

    -前言 weevely是一款使用python编写的webshell工具,集webshell生成和连接于一身,采用c/s模式构建,可以算作是linux下的一款php菜刀替代工具,具有很好的隐蔽性(生成随 ...

  9. 还原bak到localdb的问题:The logical database file cannot be found ldf

    主要环境相关因素:win7,ms sql 2012,ms localdb,msms 2012. 步骤: 1,让DBA给一个bak文件到本地来做测试,DBA按自己的工作流程得到bak文件. 2,在msm ...

  10. 为方便二层升三层新增的远程方法QuerySql6()

    为了方便原来D6,D7开发的二层老程序升级为三层,新增了远程方法QuerySql6().充分地兼容原来二层SQL的写法. 1)公共方法ParamsToStr() function ParamsToSt ...