用户 创建流程模拟

总代码

[root@localhost ~]# vim /etc/passwd  #1

[root@localhost ~]# mkdir /home/rose

[root@localhost ~]# vim /etc/shadow  #2

[root@localhost ~]# vim /etc/group  #3
[root@localhost ~]# vim /etc/gshadow  #4
[root@localhost ~]# ls /var/spool/mail
bi egon rpc tom wushang
[root@localhost ~]# ls /var/spool/mail/
bi egon rpc tom wushang
[root@localhost ~]# touch /var/spool/mail/rose
[root@localhost ~]#
[root@localhost ~]# useradd new_user
[root@localhost ~]# ls /home/new_user/
[root@localhost ~]# ls -a /home/new_user/
. .. .bash_logout .bash_profile .bashrc .mozilla
[root@localhost ~]# rm -rf /home/rose/.[!.]* #清楚文件的所有内容(包含隐藏文件)
[root@localhost ~]# ls -a /home/rose/
. ..
[root@localhost ~]# cp -r /etc/skel/.[!.]* /home/rose/
[root@localhost ~]#
[root@localhost ~]# ls -a /home/rose/
. .. .bash_logout .bash_profile .bashrc .mozilla

#1注意是 :

#2

#3

#4

[root@localhost /]# useradd tom
[root@localhost /]# id tom
uid=1003(tom) gid=1003(tom) 组=1003(tom)
[root@localhost /]# usermod -G egon tom
[root@localhost /]# id tom
uid=1003(tom) gid=1003(tom) 组=1003(tom),1002(egon)

跟用户 有关的文件/etc/passwd   (关于用户的七段信息,每一段的意义)

和/etc/shadow文件(关于用户密码信息,前两段代表的意义)

1. 用户及passwd文件
1) 掌握/etc/passwd文件的功能:存储所有用户的相关信息,该文件也被称为用户信息数据库(Database)。
2) /etc/passwd文件每个字段的具体含义:
a) 第1个字段(列)记录的是这个用户的名字(在创建用户时root用户起的)。
b) 第2个字段(列)如果是x,表示该用户登录Linux系统时必须使用密码;如果为空,则该用户在登录时无须提供密码。
c) 第3个字段(列)记录的是这个用户的uid。
d) 第4个字段(列)记录的是这个用户所属群组的gid。
e) 第5个字段(列)记录的是有关这个用户的注释信息(如全名或通信地址)。
f) 第6个字段(列)记录的是这个用户的家目录的路径。
g) 第7个字段(列)记录的是这个用户登录后,第一个要执行的进程。

2. shadow文件

1) /etc/shadow文件的功能:存储所有用户的密码,每一个用户占用一行记录,该文件实际上就是存放用户密码的数据库(Database)。
2) /etc/shadow文件每个字段的具体含义:
a) 第1个字段(列)是用户名。
b) 第2个字段(列)是密码,这个密码是经过MD5加密算法加密过的密码。

组 创建流程

跟组 有关的文件/etc/group文件(关于用户组的信息,用户的主组和附加组)

和/etc/gshadow文件(用户密码的信息)

3. 群组及group文件(详见linux系统管理P135)
1) /etc/group文件的功能:存放了Linux系统中所有群组的信息,它实际上就是一个存放群组信息的数据库(Database)。
2) /etc/group文件每个字段的具体含义:
a) 第1个字段是这个群组的名字。
b) 第2个字段中的x表示这个群组在登录Linux系统时必须使用密码。
c) 第3个字段记录的是这个群组的gid。
d) 第4个字段记录的是这个群组里还有哪些群组成员。

[root@localhost /]# groupadd group1  增
groupadd:“group1”组已存在
[root@localhost /]# groupdel group1 删
[root@localhost /]# groupadd group1
[root@localhost /]# vim /etc/group
[root@localhost /]# groupmod -g 1205 group1 改地址
[root@localhost /]# vim /etc/group
[root@localhost /]# vim /etc/group
[root@localhost /]# groupmod -n group2_new group1 改组名
[root@localhost /]# vim /etc/group

在公司中用户和组用来标识权限,

文件详细信息  第一个 d (代表目录)如果第一个是-代表普通文件

每三个为一组 d  rwx  r-x  r-x  .

第一组表示文件类型d代表目录,-代表普通文件

第二组表示可读可写可执行,作用于文件的用户(属主)对文件的权限,即root用户对这个文件有可读可写可执行权限,

第三组表示可读没权限可执行,作用于属组对文件的权限,

第四组表示可读没权限可执行,作用于除了属主属组其他人(不是用户不是组成员,因为属组里头会包含一些成员)对文件的权限,

3表示硬链接数目

属主表示文件拥有者

属组表示文件属于哪个部门

74表示大小,后面是文件名

权限的一步到位(可以创建文件一类的了)

[root@localhost ~]#  chown  -R  rose.rose  /home/rose/

查看文件最后一行的内容   tail -1 /etc/passwd

邮箱的权限

[root@localhost ~]# chown -R rose.mail /var/spool/mail/rose
-R代表递归的改,将属主和属组都改成自己需要的文件权限

补充:

ll-s  等于ll  (字母l)

上面的 “.” 标识Linux的检测设备,

关掉一个Linux的检测设备,防止出现错误当时没事,过一会开机总动卡机

[root@localhost ~]# vim /etc/sysconfig/selinux

SELINUX=disabled

前面有 .的是隐藏文件,如果需要看 -a查看所有文件包含隐藏文件

跟目录有关的需要操作 -r  -d (看文件的单个信息eg:-dL)

.[!.]*  包含文件夹下的隐藏文件

不带提示取执行命令

[root@localhost /]# ls /etc/passwd^C
[root@localhost /]# ls /etc/shadow
/etc/shadow
[root@localhost /]# ls /etc/group^C
[root@localhost /]# ls /etc/gshadow^C
[root@localhost /]# ls /home/rose/ #cp -r /etc/skel/.[!.]* /home/rose/^C
[root@localhost /]#
[root@localhost /]# ls /var/spool/mail/rose

用户创建的流程

1. 先建立所需要的群组 ( vi /etc/group );
2. 将 /etc/group 与 /etc/gshadow 同步化 ( grpconv );
3. 建立账号的各个属性 ( vi /etc/passwd );
4. 将 /etc/passwd 与 /etc/shadow 同步化 ( pwconv );
5. 建立该账号的密码 ( passwd accountname );
6. 建立使用者家目录 ( cp -a /etc/skel /home/accountname );

7. 更改使用者家目录的属性 ( chown -R accountname.group /home/accountname )。

 

林海峰老师博客

http://www.cnblogs.com/linhaifeng/articles/6045600.html#_label2

 

小白的python之路Linux部分10/27&28的更多相关文章

  1. 小白的python之路Linux部分10/28&29

    属主属组其他人对文件的rwx权限 1.userdel删东西不全,会有残留,

  2. 小白的Python之路 day1

    Python之路,Day1 - Python基础1 本节内容 Python介绍 发展史 Python 2 or 3? 一. Python介绍 python的创始人为吉多·范罗苏姆(Guido van ...

  3. 小白的Python之路 day1 变量

    Python之路,Day1 - Python基础1 变量 变量用于存储在计算机程序中引用和操作的信息.它们还提供了一种用描述性名称标记数据的方法,这样我们的程序就能更清晰地被读者和我们自己理解.将变量 ...

  4. 小白的Python之路 day2 文件操作

    文件操作 对文件操作流程 打开文件,得到文件句柄并赋值给一个变量 通过句柄对文件进行操作 关闭文件 现有文件如下 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 1 ...

  5. 小白的Python之路 day5 configparser模块的特点和用法

    configparser模块的特点和用法 一.概述 主要用于生成和修改常见配置文件,当前模块的名称在 python 3.x 版本中变更为 configparser.在python2.x版本中为Conf ...

  6. 小白的python之路10/30磁盘分区

    总结:fdisk   mkfs  mount 1.磁盘分区 硬盘分区有三种,主磁盘分区.扩展磁盘分区.逻辑分区. 一个硬盘主分区至少有1个,最多4个,扩展分区可以没有,最多1个.且主分区+扩展分区总共 ...

  7. 小白的python之路10/30 vim编辑器

    1.vim进入命令行之后的编辑过程

  8. 小白的python之路10/22 day1

    一.操作系统 操作系统就是一个协调.管理和控制计算机硬件资源和软件资源的控制程序.操作系统所处的位置如下图

  9. 小白的python之路10/31&11/1文件操作系统

    文件操作系统的介绍 ext4的superblock块是超级快,innode 块是专门存放文件信息的, block count将硬盘做成block块,对操作系统而言写在block块上就可了,eg:文件1 ...

随机推荐

  1. php 随机红包算法

    <?php /** * 红包分配算法 * * example * $coupon = new Coupon(200, 5); * $res = $coupon->handle(); * p ...

  2. C# 模拟 HTTP POST请求

    /// <summary> /// 用于以 POST 方式向目标地址提交表达数据 /// 使用 application/x-www-form-urlencoded 编码方式 /// 不支持 ...

  3. HDU 1074 Doing Homework【状压DP】

    Doing Homework Problem Description Ignatius has just come back school from the 30th ACM/ICPC. Now he ...

  4. JavaScript代码压缩工具UglifyJS和Google Closure Compiler的基本用法

    网上搜索了,目前主流的Js代码压缩工具主要有Uglify.YUI Compressor.Google Closure Compiler,简单试用了UglifyJS 和Google Closure Co ...

  5. SPOJ 1812 LCS2 - Longest Common Substring II

    思路 后缀自动机求多串的最长公共子串 对第一个建出后缀自动机,其他的在SAM上匹配,更新到一个节点的匹配长度最大值即可,最后对所有最大值取min得到一个节点的答案,对所有节点答案求max即可 然后注意 ...

  6. stm32库函数建工程和使用Keil自带库建工程有没有区别?发现了同样的程序在两种情况下keil自带库可以运行的情况,不知是什么原因

    我使用库函数建的工程(非Keil自带库),为了实现SPI对Si24r1芯片数据的读写,以验证stm32是否可以和si24r1能够正常通信,发现使用库函数建的工程程序不能通过,读出来的数据和写的数据不一 ...

  7. 如何搜索 git 提交记录

    如何搜索 git 提交记录 git log -p --all -G '可通过正则搜索' --pretty=format:'%ci' # 可跨分支搜索 # -S '通过文本搜索' git branch ...

  8. SpringBoot后台接收前台的字符串数据

    需求 将前台传入的字符串数据转为int类型. 操作 在pom.xml中添加引用. <dependency> <groupId>org.apache.commons</gr ...

  9. C语言--第3次作业

    1.本章学习总结 1.1思维导图 1.2 本章学习体会及代码量学习体会 1.2.1学习体会 我眼中的函数 这一章接触到了新的知识--函数,不同于之前所学的编程,函数具有很清楚的分工性,且可以用来多次调 ...

  10. structure streaming笔记

    基于micro-batch, spark2.3之后, 支持continues processing 基于spark SQL 如同在静态table上运行标准批查询一样表现流计算, spark 通过在一个 ...