linux入门基础——linux用户基础

时间:2022-02-27 07:22:00

这篇内容是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. IOS中取乱序数据最大值、最小值方法

    2016-01-12 / 23:15:58 第一种方法也是常规方法,就是设定一个默认值作为最大值,循环取比这个最大值还大的值并赋值给默认最大值,这样循环完成后这个默认最大值变量里面的值就是最大值了: ...

  2. java-通讯stocket插件mina实例

    mina是对nio的具体实现.是目前比较高效和流行的nio(非阻塞式I/O)框架 mina主要包括: 其中服务端为:NioSocketAcceptor 客户端为:NioSocketConnector ...

  3. Python 学习之urllib模块---用于发送网络请求,获取数据

    1.urllib urllib是Python标准库的一部分,包含urllib.request,urllib.error,urllib.parse,urlli.robotparser四个子模块. (1) ...

  4. ReactiveSwift源码解析(十) Lifetime代码实现

    为了之后博客的进行,本篇博客我们就来聊一下ReactiveSwift框架中的Lifetime类的具体实现.从Lifetime这个名字中我们就这道,就是生命周期.在ReactiveSwift中使用Lif ...

  5. JavaScript对象的valueOf()方法

    js对象中的valueOf()方法和toString()方法非常类似,但是,当需要返回对象的原始值而非字符串的时候才调用它,尤其是转换为数字的时候.如果在需要使用原始值的上下文中使用了对象,JavaS ...

  6. [已解决]关于python无法显示中文的问题:SyntaxError: Non-ASCII character '\xe4' in file test.py on line 3, but no encoding declared。

    想在python代码中输出汉字.但是老是出现SyntaxError: Non-ASCII character '\xe4' in file test.py on line , but no encod ...

  7. Android Studio xcode单步调试 WebRTC Android & iOS

    mac环境 如何在 Android Studio 里单步调试 WebRTC Android 的 native 代码. WebRTC 代码下载 depot tools 是 chromium 代码库管理工 ...

  8. URAL 1941

    比赛的时候三个点没有优化成功.其实也没有想到哈希成数.然后就变成了只要一个长度和scary相等的区间内所有数字个数都是相等的.那么就是符合题意的.于是.为了不TLE我们不能对txt每个位置遍历 的同时 ...

  9. centOS 7镜像文件下载

  10. BZOJ1176:[Balkan2007]Mokia——题解

    http://www.lydsy.com/JudgeOnline/problem.php?id=1176 Description(题面本人自行修改了一下) 维护一个W*W的矩阵,初始值均为0.每次操作 ...