小白的python之路Linux部分10/27&28
用户 创建流程模拟
总代码
[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的更多相关文章
- 小白的python之路Linux部分10/28&29
属主属组其他人对文件的rwx权限 1.userdel删东西不全,会有残留,
- 小白的Python之路 day1
Python之路,Day1 - Python基础1 本节内容 Python介绍 发展史 Python 2 or 3? 一. Python介绍 python的创始人为吉多·范罗苏姆(Guido van ...
- 小白的Python之路 day1 变量
Python之路,Day1 - Python基础1 变量 变量用于存储在计算机程序中引用和操作的信息.它们还提供了一种用描述性名称标记数据的方法,这样我们的程序就能更清晰地被读者和我们自己理解.将变量 ...
- 小白的Python之路 day2 文件操作
文件操作 对文件操作流程 打开文件,得到文件句柄并赋值给一个变量 通过句柄对文件进行操作 关闭文件 现有文件如下 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 1 ...
- 小白的Python之路 day5 configparser模块的特点和用法
configparser模块的特点和用法 一.概述 主要用于生成和修改常见配置文件,当前模块的名称在 python 3.x 版本中变更为 configparser.在python2.x版本中为Conf ...
- 小白的python之路10/30磁盘分区
总结:fdisk mkfs mount 1.磁盘分区 硬盘分区有三种,主磁盘分区.扩展磁盘分区.逻辑分区. 一个硬盘主分区至少有1个,最多4个,扩展分区可以没有,最多1个.且主分区+扩展分区总共 ...
- 小白的python之路10/30 vim编辑器
1.vim进入命令行之后的编辑过程
- 小白的python之路10/22 day1
一.操作系统 操作系统就是一个协调.管理和控制计算机硬件资源和软件资源的控制程序.操作系统所处的位置如下图
- 小白的python之路10/31&11/1文件操作系统
文件操作系统的介绍 ext4的superblock块是超级快,innode 块是专门存放文件信息的, block count将硬盘做成block块,对操作系统而言写在block块上就可了,eg:文件1 ...
随机推荐
- Yii1操作phpexcel
Yii::import('application.vendors.phpexcel.*'); Yii::import('application.vendors.phpexcel.PHPExcel.*' ...
- Ubuntu 无界面使用selenium chrome + headless
1. 安装 selenium : sudo pip install selenium 2. 安装 chromdriver: 进入 淘宝镜像源 下载 chromdriver, 可以查看 notes.tx ...
- python操作MongoDB、MySQL、Postgres、Sqlite、redis实例
总结:除了MongoDB.redis,其他三个数据库用python来操作其实是差不多的.所有例子都很简单,实际生产环境中的数据库操作远比这复杂得多,命令也比我例子中的多得多,我这里高级一点的用法就是批 ...
- vue-自主研发非父子关系组件之间通信的问题
相信很多人都知道解决组件间通信:vuex,今天的主角不是它. element-ui里解决组件间通信的思路:emitter.js ,但是如果你拿来你会发现它解决的是父子组件之间的通信问题.如果我们通信的 ...
- UIPresentationController - iOS自定义模态弹出框
参考: https://developer.apple.com/library/archive/featuredarticles/ViewControllerPGforiPhoneOS/Definin ...
- return -1 、return 1 、 return 0 的区别
根据所定义函数的需求返回不同的值. 一般0和-1或者0和1使用 0和-1使用时: 0一般表示成功执行 -1一般表示不成功 0和1使用时: 1真 0假
- rem的在vue项目中使用配置,,浏览器的兼容性之Mate标签
在vue中配置rem 位置:在APP.vue的script中,在export default之外 (()=>{ let winW = document.documentElement.clien ...
- ubuntu学习笔记
Linux操作系统 locale –a查看支持语言 ls查看目录 ls .l / 查看根目录 apt-get –h 安装软件看帮助信息 sudo apt-get inatall packge 安装包 ...
- 我的第一篇博客。(JavaScript的声明和数据类型的一些笔记)
这是我的第一篇博客,务必请大家多多关照. 下面是前端js的变量和数据类型的一些笔记,不是很全请多多包涵. 1.变量 变量的声明 var 变量名 变量这个容器中放的是数据 变量的赋值 变量名 = 数据 ...
- jmeter 学习笔记
beanshell内置对象 vars是针对单线程,使用${varName}访问var变量值 props是所有线程共享,使用${__P(propName,)}访问prop变量值 如何让variable在 ...