关于用户和组的知识

  • 家目录

用户都有家目录:root用户家目录为/root。其他用户的家目录在/home/,如user1的家目录为/home/user1
当我们创建用户时,系统就会自动创建该用户的家目录。
家目录用~表示。cd ~表示移动到家目录中。

  • 用户

用户的信息被保存在/etc/passwd。该文件保存了用户名、用户id、用户所在的组id和shell等信息。
用户都拥有id号。用uid表示。

组的概念:将用户分组。这样就可以将用户按组来管理。
组都有id号。用gid表示。
组分为主组和副组。用户所在的主组只能有一个,副组可以有多个。
默认情况下,创建用户时,自动创建该用户的主组。用户id和主组id相同。

关于用户的命令

last        #查看服务器的用户登录信息(tty表示物理机登录,pts表示远程登录)
whoami #查看当前登录用户(我是谁)
who #查看当前登录用户(现在有谁登录这台服务器)
id #查看当前用户id信息(uid和gid)

管理员用户

管理员用户是一个特殊用户,他拥有很大的权限(仅此于root)。

  • 添加一个管理员用户
[root@localhost ~]$ vim /etc/sudoers
user1 ALL(ALL) ALL #添加管理员user1 #这样就可以拥有很大的权限,比如:
[user1@localhost ~]$ sudo systemctl restart firewalld #重启服务(在命令前加sudo)

关于用户和组的管理文件

/etc/passwd
cat /etc/passwd

输出:

......
nobody:x:99:99:Nobody:/:/sbin/nologin
systemd-network:x:192:192:systemd Network Management:/:/sbin/nologin
dbus:x:81:81:System message bus:/:/sbin/nologin
polkitd:x:999:998:User for polkitd:/:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
postfix:x:89:89::/var/spool/postfix:/sbin/nologin
chrony:x:998:996::/var/lib/chrony:/sbin/nologin
user1:x:1000:1000::/home/user1:/bin/bash

这个文件分为多个字段,字段之间用冒号:隔开。
字段分别是 用户名:x表示密码:uid:gid:用户的描述信息:家目录:用户默认的shell
其中第二个字段表示密码,用x占位,真正的密码保存在/etc/shadow文件中。
如果用户默认的shell为/sbin/nologin,表示用户无法登陆。

  • uid

root的UID为0
系统用户UID为1~999
普通用户UID为1000+

/etc/shadow

这个文件保存着用户的密码(散列值)。

  • 查看/etc/shadow
cat /etc/shadow

输出:

root:$6$9tYeXsFoaHYvM.X4$c6g4oDV9A/l7OYerkrYmr1hNJXNccboRWUqnn4sjCvWnsPWNOO1S21OHqR1gTiGaUZhr9OxCYqv4aWugZGe9L1::0:99999:7:::
......

解释:

格式
$id$salt$encrypted
解释
id为1,md5加密
id为5,SHA256加密
id为6,SHA512加密
salt为盐值,是对密码进行hash的一个干扰值

注意:
这个文件非常重要,不能让他人得到。
密码最好最好定期更换,且设置复杂密码。
否则容易被他人破解:https://blog.csdn.net/netrookiex/article/details/96431981

用户管理命令

su-切换用户
su user1    #切换到user1(不改变当前所在目录)
su - user1 #切换到user1(改变当前所在目录->user1的家目录)
su #切换到超级用户root
exit #退出当前用户
增加用户

创建用户时,系统会自动创建出家目录、邮箱目录(/var/spool/mail/<用户名>)

比如:

useradd user1       #增加用户user1
passwd user1 #修改用户user1的密码

参数:

-d	#指定家目录
-g #指定基本组(主组)
-G #指定扩展组(副组)
-u #指定用户UID
-s #指定Shell解释器
-e #指定账户到期时间(YYYY-MM-DD)
-c #用户描述

比如:

useradd -d /user3 user3     #创建用户user3,并指定家目录为/user3,而不是/home/user3
useradd -s /sbin/nologin user4 #创建用户user4,但是这个用户无法登陆

  • 增加组的命令类似:
groupadd userGroup	#添加组userGroup

修改用户信息
usermod	    #用法、参数与useradd几乎一样
-L #锁定用户(禁止登陆)
-U #解除锁定(允许登陆)
-md #修改家目录,并转移旧数据至新家目录
修改用户密码
passwd user1    #修改user1的密码
-l #锁定用户(禁止登陆)
-u #解除锁定(允许登陆)
-d #使用户可使用空密码(需要系统允许)
-e #下次登陆时修改密码
-S #显示用户密码配置信息
--stdin #从标准输入中读入密码

举例:

echo "123" | passwd --stdin user6       #user6的密码变成了123,而不是用户输入
删除
userdel user6       #删除用户user6
-r #同时删除用户相关目录

06-Linux用户和组管理的更多相关文章

  1. linux学习16 Linux用户和组管理命令演练和实战应用

    一.上集回顾 1.bash globing,IO重定向及管道 glob:*,?,[],[^] IO重定向: >,>>, 2>,2>> &>,& ...

  2. Linux用户与组管理命令

    1.列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可. who | cut -d" " -f1 | sort -u 或 who | cut -d ...

  3. Linux 用户和组管理

    这是用户和组管理的知识点,不想看文字就看视频吧,还是视频为主,文字为备忘录 视频链接: 项目1用户管理 1.创建一个新用户user01,设置其主目录为/home/user01: #useradd –d ...

  4. 用户与安全 -(1)Linux用户及组管理

    关注「开源Linux」,选择"设为星标" 回复「学习」,有我为您特别筛选的学习资料~ 前言 Linux 是多用户多任务操作系统,换句话说,Linux 系统支持多个用户在同一时间内登 ...

  5. linux用户和组管理,/etc/passwd 、/etc/shadow和/etc/group 文件内容解释

    与用户相关的系统配置文件主要有/etc/passwd 和/etc/shadow,其中/etc/shadow是用户资讯的加密文件,比如用户的密码口令的加密保存等: /etc/passwd 和/etc/s ...

  6. linux用户、组管理及权限(一)

    一.用户管理 1.为什么需要用户 1)计算机及网络资源的合理分配  2)可以控制用户访问系统的权限.3)身份认证 4) 进程 以某个用户的身份来运行 2.用户分类 用户的角色是通过UID(用户ID)来 ...

  7. java程序员菜鸟进阶(十五)linux基础入门(三)linux用户和组管理

    我们大家都知道,要登录linux操作系统,我们必须要有一个用户名和密码.每一个用户都由一个惟一的身份来标识,这个标识叫做用户ID.系统中的每一个用户也至少需要属于一个"用户分组". ...

  8. linux用户和组管理,/etc/passwd 、/etc/shadow和/etc/group --学习

    一./etc/passwd 和/etc/shadow解释 与用户相关的系统配置文件主要有/etc/passwd 和/etc/shadow,其中/etc/shadow是用户资讯的加密文件,比如用户的密码 ...

  9. ref:linux用户和组管理,/etc/passwd,/etc/shadow和/etc/group 文件内容解释

    ref:https://www.cnblogs.com/xuha0/p/5519232.html 与用户相关的系统配置文件主要有/etc/passwd 和/etc/shadow,其中/etc/shad ...

  10. Linux用户和组管理命令-用户创建useradd

    用户管理命令 useradd usermod userdel 组帐号维护命令 groupadd groupmod groupdel 用户创建 useradd 命令可以创建新的Linux用户 格式: u ...

随机推荐

  1. WPF 对接 Vortice 绘制 WIC 图片

    本文告诉大家如何通过 Vortice 在 Direct2D 里面绘制图片,图片的来源是 WIC 加载出的图片 在上一篇博客 WPF 对接 Vortice 调用 WIC 加载图片 告诉了大家如何对接 V ...

  2. 举例useContext性能低下的样例,同时推荐用什么方法改进

    在React中,useContext 是一种非常方便的全局状态管理工具,它可以让我们在组件之间共享状态,而不需要通过层层传递 props.然而,当我们在一个大型的 React 应用中过度使用 useC ...

  3. 从 Rollover+curator 到 ILM

    数据量增长,当前存在的问题: 查询与写入越来越慢,聚合的速度慢的离谱,聚合的数据量大一些的话,可能出现超时失败,甚至OOM 磁盘和内存资源以肉眼可见的速度快速消耗,甚至出现满载的情况 JVM频繁GC, ...

  4. postgresql性能优化2:sql语句和缓存配置

    1.看执行计划 EXPLAIN, 此命令用于查看SQL的执行计划 总的来说sql的执行计划是一个树形层次结构, 一般来说阅读上遵从层级越深越优先, 同一层级由上到下的原则. 来跟着铁蛋老师读: 层级越 ...

  5. windows server2012 挂载linux的nfs共享目录

    1.安装NFS客户端 首先win-server上添加角色-----选择文件服务-----网络文件系统(或者NFS客户端)-安装 2.挂载nfs目录 先cmd检查服务端的共享目录 然后执行:showmo ...

  6. Java面试题:如果你这样做,你会后悔的,两次启动同一个线程~~~

    当一个线程被启动后,如果再次调start()方法,将会抛出IllegalThreadStateException异常. 这是因为Java线程的生命周期只有一次.调用start()方法会导致系统在新线程 ...

  7. 基于webapi的websocket聊天室(番外一)

    上一篇我已经实现了聊天室,并且在协议中实现了4种类型的消息传输.其实还可以添加video,audio,live等等类型. 不过假如把目前的协议看作RCP1.0版的话,这个版本就只支持有限的4种消息.精 ...

  8. 大数据之Hadoop集群中Yarn常用命令

    Yarn状态的查询,除了可以在hadoop103:8088页面查看以外,还可以通过命令操作.常见的命令操作如下所示. 需求:执行WordCount案例,并通过Yarn命令查看任务运行情况.原文:sw- ...

  9. C# winfrom 局域网版多人成语接龙(二)

    功能基本上是完成了,要两个人完才好玩,目前 倒计时,每组游戏玩家数量这些控制变量,都是写死再代码里的,等以后想改的时候再改,这个项目核心的功能算是实现了,但还可以扩展,比如记录一下用户的游戏数据,答对 ...

  10. pyinstaller 打包无窗口python http.server无法启动

    最近在写一个简单的文件服务器用来访问静态文件,遇到在pyinstaller无窗口模式下无法启动的问题,记录一下解决方案. 原因:http.server需要将记录输出到窗口,而pyinstaller打包 ...