这篇内容是linux用户基础,相关内容见linux改动usernameubuntu改动username和主机名

用户。组

当我们使用linux时,须要以一个用户的身份登入,一个进程也须要以一个用户的身份执行。用户限制使用者或者进程能够或不能够使用哪些资源。

用户的实质就是用来限制资源的使用

组用来方便管理组织管理用户。

每一个用户都拥有一个UserID,操作系统实际使用的是用户ID。而非username

每一个用户属于一个主组,属于一个或者多个附属组

每一个组拥有一个GroupID

每一个进程以一个用户身份执行,并受该用户可訪问的资源限制

每一个可登陆用户拥有一个指定的shell。

用户

用户ID为32位。从0開始,可是为了和老式系统兼容。用户ID限制在60000下面。

用户分为下面三种:

    -root用户    (ID为0的用户为root用户)

    -系统用户    (1-499) 专门为某些进程或者某些服务创建的,不拥有shell。

    -普通用户    (500以上。也可能是1000以上)

系统中的文件都有一个所属用户以及所属组。

使用id命令能够显示当前用户的信息

使用passwd命令能够改动当前用户password

相关文件

/etc/passwd        保存用户信息

/etc/shadow        保存用户password(加密)

/etc/group        保存组信息


打开/etc/passwd

每一行代表一个用户的信息,每一行分为七个部分,每一个部分使用冒号:隔开。

第一个部分    username

第二个部分    password

第三个部分    用户的ID号UserID

第四个部分    组ID

第五个部分    用户的描写叙述信息

第六个部分    用户的家文件夹

第七个部分    用户登陆的shell(普通用户是/bin/bash。系统用户即ID为500下面都为/sbin/nologin或者/bin/false)

打开/etc/shadow

每一行代表一个用户信息。

第一个部分    username

第二个部分    password(仅仅有当前用户有password,系统用户没有password,两个!

表示没有创建password)

password分为三个部分。使用$分开

第一个部分是6。代表password的加密类型

第二个部分是盐salt,加点盐,是插入这部分到我们的password。添加破解难度

第三个部分是加密后的password

查看登陆的用户

命令whoami显示当前用户

命令who显示有哪些用户登陆上

命令w显示有哪些用户已经登陆而且在干什么

创建一个用户

命令useradd用以创建一个用户

如何确定是否创建好呢?通过cat /etc/passwd发现会多了一个用户。UserID为当前用户ID+1

这个命令会运行一下操作:

1.在/etc/passwd中加入用户

2.假设使用passwd命令创建password。则将加密以后的password保存在/etc/shadow中

3.为用户建立一个新的家文件夹/home/houlu

4.将/etc/skel中的文件拷贝到用户的家文件夹中

5.建立一个与用户username同样的组,新建用户默认属于这个同名组

命令useradd支持下面參数

-d    家文件夹

-s    登陆shell

-u    userid

-g    主组

-G    附属组

也能够通过直接改动/etc/passwd实现。不建议这样做。

改动用户信息

命令usermod用以改动用户,它支持下面參数

-l    新username

-u    新userid

-d    用户家文件夹位置

-g    用户所属主组

-G    用户所属附属组

-L    锁定用户使其不能登陆

-U    解除锁定

删除用户

命令userdel用以删除指定用户

userdel user            删除用户,但不删除家文件夹

userdel -r user            所有删除



差点儿全部操作系统都有组的概念。通过组,我们能够更加方面的归类,管理用户。一般来讲,我们使用部门、职能或者地理区域的分类方式来创建使用组。

每个组有一个组ID

组信息保存在/etc/group

每一个用户有一个主组,同一时候最多有31个附属组

创建、改动、删除组

命令groupadd用以创建组

groupadd linuxcast

命令groupmod用以改动组

groupmod -n newname oldname    改动组名

groupmod -g newGid oldGid    改动组ID

命令groupdel用以删除组

groupdel linuxcast

linux入门基础——linux用户基础的更多相关文章

  1. Linux入门——初识Linux

    Linux入门——初识Linux 摘要:本文主要说明了Linux是什么,Linux发展历史,以及同Linux系统有关的一些基本知识. 简介 操作系统 Linux系统同Windows系统.Mac系统一样 ...

  2. linux入门—安装linux系统(1)

    一,linux介绍 linux是一套免费使用和自由传播的类Unix操作系统,简单的说就是不要钱,你可以随便使用,也可以分享给其他人. (剩下的详细内容,个人认为百度百科的内容比我瞎讲强的多,网址:ht ...

  3. 【苏勇老师Linux 入门笔记】网络基础

    IP 地址 IP 编制时一个双层编制方案,一个 IP 地址标示一个主机 (或一个网卡接口). 一个 IP 地址分为两个部分:网络部分(所属区域)和主机部分(标示区域中的哪个主机).IPv4 共32位, ...

  4. Linux入门-9 软件管理基础(CentOS)

    0. 源代码形式 1. RPM软件包管理 RPM RPM查询 RPM验证 2. YUM软件管理 YUM基本命令 YUM查询 创建YUM仓库 0. 源代码形式 绝大多数开源软件都是直接以源代码形式发布 ...

  5. Linux入门:增加用户,并赋予权限

    一.增加用户 1.增加用户,并指定主目录 # useradd –d /usr/sam -m sam此命令创建了一个用户sam,其中-d和-m选项用来为登录名sam产生一个主目录/usr/sam(/us ...

  6. Linux入门-6 Linux网络基本配置

    1. 网络基础知识 网络编址 IP编址 子网掩码 同一网络主机之间通信--MAC地址 不同网络之间的通信 路由 域名 DNS 基本网络参数 2. Linux网络基础配置 以太网连接 配置网络信息 网络 ...

  7. Linux入门(二)Linux基本命令及基本操作

    1 常用Linux命令 图形界面进入到字符界面: ctrl+alt+F2~F6 字符界面进入到图形界面:ctrl +alt+F7 查看本机ip:  ifconfig  (windows是:ipconf ...

  8. Linux入门-8 Linux系统启动详解

    系统启动流程 BIOS MBR GRUB KERNEL INIT 单用户修改root密码 GRUB加密 系统启动流程 BIOS MBR: Boot Code 执行引导程序 - GRUB 加载内核 执行 ...

  9. Linux入门-7 Linux管道、重定向以及文本处理

    Linux管道.重定向以及文本处理 1 Linux多命令协作:管道及重定向 管道和重定向 2 Linux命令行文本处理工具 文件浏览 基于关键字搜索-grep 基于列处理文本-cut 文本统计-wc ...

  10. Linux入门-3 Linux磁盘及文件系统管理

    1. 磁盘基本概念 1.1 磁盘结构:盘片(单碟vs多碟).磁头(读写数据) 1.2 磁盘在Linux中的表示 1.3 分区概念 2 使用fdisk进行磁盘管理 3 Linux文件系统 mke2fs ...

随机推荐

  1. fragment.setMenuVisibility setUserVisibleHint

    [Android]Fragment真正意义上的onResume和onPause 前言 Fragment虽然有onResume和onPause的,但是这两个方法是Activity的方法,调用时机也是与A ...

  2. bzoj4956: [Wf2017]Secret Chamber at Mount Rushmore

    F......loyd? 这范围也是..... 然而大了也不会.... #include<cstdio> #include<iostream> #include<cstr ...

  3. [CQOI 2007] 涂色

    [题目链接] https://www.lydsy.com/JudgeOnline/problem.php?id=1260 [算法] 区间DP [代码] #include<bits/stdc++. ...

  4. linux 标准输出和后台运行

    一.后台运行程序 至需要在命令后面加上一个 & 即可 # command & 例如: python test.py & 二.标准输出.标准错误输出 # command > ...

  5. 二、SQL系列之~常见51道SQL查询语句

    [写在前面~~] [PS1:建议SQL初学者一定要自己先做一遍题目,这样才有效果~~(做题时为验证查询结果是否正确,可更改表中数据)] [PS2:文末最后一条代码整合了全部51道题目及答案~~] [P ...

  6. SilverLight Q&A

    1.在学校prism,Unity框架的时候,遇到的问题“The IModuleCatalog is required and cannot be null in order to initialize ...

  7. BeautifulSoup 库的使用记录

    BeautifulSoup 有何用途 如果我们需要通过脚本来抓取网络中的数据时,使用传统的字符解析等方法时是非常低效的,而BeautifulSoup则可以方便的通过接口来获取标签中所想要得到的数据.主 ...

  8. AI:从游戏引擎--到AI

    原文链接:http://blog.csdn.net/left_la/article/details/6358911#t9 这是我在Gameres上看到的一篇文章,文章很长,全文分为11个部分,看后感觉 ...

  9. 函数GROUP_CONCAT

    这不得不说是mysql中一个特别好用的函数,之前生写这种确实好麻烦..感谢mysql有了这么好的函数..嘿嘿 举个例子吧. s_student 表 stuinfo表 sql如下: ok,简单粗暴,就这 ...

  10. RxSwift源码与模式分析一:基本类

    封装.变换与处理 // Represents a push style sequence. public protocol ObservableType : ObservableConvertible ...