用户 创建流程模拟

总代码

[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. what i want

    i want to be the object of every beautiful creature. they strongly want to talk with me, and study f ...

  2. java开发工具STS的下载及安装

    将下载后的压缩文件解压,在解压后的sts-bundle下的sts-3.9.1RELEASE目录中STS.exe便是可执行程序,用于启动STS,将该文件发送到桌面快捷方式,当我们想使用STS时可以快速的 ...

  3. Codeforces Round #503 (by SIS, Div. 2)

    连接:http://codeforces.com/contest/1020 C.Elections 题型:你们说水题就水题吧...我没有做出来...get到了新的思路,不虚.好像还有用三分做的? KN ...

  4. c#操作json的两种方式

    总结一下C#操作json的两种方式,都是将对象和json格式相转. 1.JavaScriptSerializer,继承自System.Web.Script.Serialization private ...

  5. Spring之bean的生命周期

    这篇博文是spring生命周期的详解,目前限于作者自身的水平对于一些内容可能只知其然不知其所以然,所以博文中如果出现错误欢迎各位指出,同时我也会逐步提升自己的水平,争取能够多发布一些能让大家获益的博文 ...

  6. springmvc学习之jdk版本,tomcat版本,spring版本

    使用的软件是myeclipse2018,jdk8,tomcat9.0,spring3.2.0 以上为我的软件及各种配置 1.建立了web工程,build path 使用的是默认的j2EE1.8(只有配 ...

  7. jquery AJAX数据传输路径写法~

    $.post('{:url("index/index/logininfo")}',{'username':name,'password':pwd},function(data){ ...

  8. bs4 FeatureNotFound: Couldn't find a tree builder with the features you requested: lxml. Do you need to install a parser library?

    安装beautifulsoup后,运行测试报错 from urllib import requestfrom bs4 import BeautifulSoup url = "http://w ...

  9. xls文件导入数据库

     protected void btn_ok_Click(object sender, EventArgs e)     {         int num = 0;                  ...

  10. PyQt5——布局管理

    PyQt5布局管理使用方法详见:https://blog.csdn.net/jia666666/article/list/3?t=1& PyQt5布局管理汇总: 1.QHBoxLayout 2 ...