root用户可以访问自己的家目录,访问配置文件,访问普通用户的家目录

普通用户只能访问自己的家目录和root用户开放的目录

普通用户之间无法访问对方的家目录

创建用户,用id查看用户信息,root的uid是0,如果把普通用户uid改为0,则该普通用户变为root用户

创建普通用户,/home下会创建普通用户的家目录

/etc/passwd会多出来用户信息

/etc/shadow会有用户密码信息

[root@node01 ~]# useradd wilson
[root@node01 ~]# id root
uid=(root) gid=(root) groups=(root)
[root@node01 ~]# id wilson
uid=(wilson) gid=(wilson) groups=(wilson)
[root@node01 ~]# id abc
id: abc: no such user
[root@node01 ~]#
[root@node01 ~]# ls /root
backup bin downloads
[root@node01 ~]# ls /home/wilson
[root@node01 ~]# ls -a /home/wilson
. .. .bash_logout .bash_profile .bashrc
[root@node01 ~]# ls /etc/passwd
/etc/passwd
[root@node01 ~]# tail - /etc/passwd
hive:x:::Hive:/var/lib/hive:/sbin/nologin
kafka:x:::Kafka:/var/lib/kafka:/sbin/nologin
kms:x:::Hadoop KMS:/var/lib/hadoop-kms:/sbin/nologin
yarn:x:::Hadoop Yarn:/var/lib/hadoop-yarn:/sbin/nologin
oozie:x:::Oozie User:/var/lib/oozie:/sbin/nologin
kudu:x:::Kudu:/var/lib/kudu:/sbin/nologin
hbase:x:::HBase:/var/lib/hbase:/sbin/nologin
impala:x:::Impala:/var/lib/impala:/sbin/nologin
spark:x:::Spark:/var/lib/spark:/sbin/nologin
wilson:x::::/home/wilson:/bin/bash
[root@node01 ~]# tail - /etc/shadow
hive:!!:::::::
kafka:!!:::::::
kms:!!:::::::
yarn:!!:::::::
oozie:!!:::::::
kudu:!!:::::::
hbase:!!:::::::
impala:!!:::::::
spark:!!:::::::
wilson:!!:::::::

设置密码

[root@node01 ~]# passwd wilson
Changing password for user wilson.
New password:
BAD PASSWORD: The password fails the dictionary check - it is too simplistic/systematic
Retype new password:
passwd: all authentication tokens updated successfully.

删除用户,如果不加-r,仍会保留用户的家目录

[root@node01 ~]# userdel wilson
[root@node01 ~]# ls /home
wilson
[root@node01 ~]# ls /home/ -l
total
drwx------ Nov : wilson
[root@node01 ~]# userdel -r wilson
userdel: user 'wilson' does not exist
[root@node01 ~]# ls /home
wilson
[root@node01 ~]# useradd wilson
useradd: warning: the home directory already exists.
Not copying any file from skel directory into it.
Creating mailbox file: File exists
[root@node01 ~]# userdel -r wilson
[root@node01 ~]# ls /home

usermod  -d可以改变用户的家目录

[root@node01 ~]# man usermod
[root@node01 ~]# useradd wilson
[root@node01 ~]# usermod -d /home/w1 wilson

用户组管理

创建用户的时候指定用户组 useradd -g

[root@node01 ~]# groupadd group1
[root@node01 ~]# usermod -g group1 wilson
[root@node01 ~]# id wilson
uid=(wilson) gid=(group1) groups=(group1)
[root@node01 ~]# useradd -g group1 user1
[root@node01 ~]# id user1
uid=(user1) gid=(group1) groups=(group1)

临时切换用户 su

[root@node01 ~]# su - user1
Last login: Sun Nov :: CST on pts/

- 是在切换用户的同时,运行的环境也进行切换

无法访问root的家目录

[user1@node01 ~]$ cd /root
-bash: cd: /root: Permission denied

不带-是不完全的切换

[root@node01 ~]# su user1
[user1@node01 root]$ pwd
/root
[user1@node01 root]$ ls
ls: cannot open directory .: Permission denied

在root的家目录下,但仍没有权限访问

linux(二)用户和用户组管理的更多相关文章

  1. Linux命令——用户和用户组管理

    Linux命令--用户和用户组管理 命令groupadd 作用:新增组 格式:groupadd [-g GID] groupname 参数:-g,指定GID,一般从500开始 说明:一般不必加-g参数 ...

  2. 2019/12/11学习内容摘要(Linux系统用户与用户组管理①)

    一,认识/etc/passwd和/etc/shadow 1. /etc/passwd :文件中保存系统中所有的用户和用户的主要信息. 在命令行输入 cat /etc/passwd  | head  ( ...

  3. linux之用户和用户组管理详解

    #############用户和用户组管理###################linux只认识UID和GID #可在/etc/passwd 和/etc/group中找到 ##/etc/passwd ...

  4. Linux 学习笔记04丨Linux的用户和用户组管理

    Chapter 3. 用户和用户组管理 由于Linux系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以该账号身份进入系统. 3.0 用户与 ...

  5. Linux 操作系统的用户和用户组管理

    Linux系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入 系统.用户的账号一方面可以帮助系统管理员对使用系统的用户进行 ...

  6. [Linux/Unix]用户和用户组管理

    Linux系统是一个多用户多任务的分时操作系统,任何一个要使用系统的用户,都必须拥有自己的账号. 实现用户的管理,主要做: 用户账号的添加.删除.修改: 用户口令的管理: 用户组的管理. (一)用户的 ...

  7. linux系统用户以及用户组管理

    本系列的博客来自于:http://www.92csz.com/study/linux/ 在此,感谢原作者提供的入门知识 这个系列的博客的目的在于将比较常用的liunx命令从作者的文章中摘录下来,供自己 ...

  8. linux入门教程(七) linux系统用户以及用户组管理

    关于这部分内容,笔者在日常的linux系统管理工作中用到的并不多,但这并不代表该内容不重要.毕竟linux系统是一个多用户的系统,每个账号都干什么用,你必须了如指掌.因为这涉及到一个安全的问题. [认 ...

  9. Linux的用户和用户组管理

      Linux是个多用户多任务的分时操作系统,所有一个要使用系统资源的用户都必须先向系统管理员申请一个账号,然后以这个账号的身份进入系统.用户的账号一方面能帮助系统管理员对使用系统的用户进行跟踪,并控 ...

随机推荐

  1. 后端技术杂谈10:Docker 核心技术与实现原理

    本系列文章将整理到我在GitHub上的<Java面试指南>仓库,更多精彩内容请到我的仓库里查看 https://github.com/h2pl/Java-Tutorial 喜欢的话麻烦点下 ...

  2. 如何在微信小程序中使用iconfont

    开篇废话 开发过小程序的童鞋肯定都会遇到这样的问题,当我们在小程序中使用iconfont官方推荐的方法插入字体时,我们总会得到一个打印机(滑稽).那么如何在小程序中正确的使用iconfont呢? 一. ...

  3. (转)用Flink取代Spark Streaming!知乎实时数仓架构演进

    转:https://mp.weixin.qq.com/s/e8lsGyl8oVtfg6HhXyIe4A AI 前线导读:“数据智能” (Data Intelligence) 有一个必须且基础的环节,就 ...

  4. php 标准库之ArrayObject

    以下为ArrayObject的常用函数: ArrayIterator::current( void ) //返回当前数组元素 ArrayIterator::key(void) //返回当前数组key ...

  5. Step3 - How to: Host and Run a Basic Windows Communication Foundation Service

    This is the third of six tasks required to create a Windows Communication Foundation (WCF) applicati ...

  6. php中的构造函数与析构函数

    PHP面向对象——构造函数.析构函数 __construct.__destruct__construct 构造方法,当一个对象创建时调用此方法,使用此方法的好处是:可以使构造方法有一个独一无二的名称, ...

  7. jmeter之关联的使用(正则、json)

    部分接口的测试中,一个接口会依赖上一个接口的响应信息,但上一个接口的响应信息又不是固定不变的,这时候,需要提取上一个接口的响应信息,将二者每一次的信息关联起来 目录 1.应用场景 2.jmeter正则 ...

  8. C#计算两个日期的相隔天数

    DateTime start = Convert.ToDateTime(dateStart.ToShortDateString()); DateTime end = Convert.ToDateTim ...

  9. Maximum Subarray(最大连续子序列和)

    https://leetcode.com/problems/maximum-subarray/ 思路: 如果全为负值,那么取最大值 如果有非负值,那么我们依次计算到当前位置为止的最大值.假设有n个元素 ...

  10. deepFreeze

    obj1 = {   internal: {} }; Object.freeze(obj1); obj1.internal.a = 'aValue'; obj1.internal.a // 'aVal ...