linux用户登录
一、linux用户登录过程访问的文件
- /etc/passwd---用户登录时,linux会先到这里查看用户Id、组Id、登录后的shell、用户工作目录
- /etc/shadow(影)---linux在这里取得用户密码比较和密码修改周期等策略问题在这里设置
- /etc/group---在这里取出组名称、组id,组密码,支持的账号
/etc/passwd文件结构分析

/etc/shadow文件结构分析

/etc/group文件结构分析

- 用户和组都可以设置密码,密码都是保存在/etc/shadow文件里,但是一般不使用组登录,所以组的密码一般为空的
- /ect/passwd文件主要提供登录后的shell信息和shell自动进入的工作目录
- 一个组当然可以有多个用户,多个用户用","分割
- adduser、passwd等shell脚本操作的就是以上文件,完全可以手动更改,但是注意默认位置
- 用户的运行权限是根据用户ID和组ID来判断的(详细内容见:linux的文件权限分析)
二、linux登录后的权限设置
我们知道linux的权限概念是非常重要的,但是传统的权限仅是三种身份(owner,group,others)搭配三种权限(r,w,x)而已,并没有办法针对某一个用户或者某一个组来设置特定的权限需求。ACL可以针对单一用户、单一文件或目录进行r w x的权限设置,对于特殊权限的使用情况非常有帮助。(具体参见另文:待续。。。)
三.Quota
linux是多用户的多任务的环境,所以会有多用户使用一个硬盘空间的情况,如果其中有几个用户大量占掉了硬盘的空间的话,那肯定会影响其他用户的使用权限,因此管理员应该适当限制硬盘空间给用户,以妥善的分配系统资源。这就需要用到Quota,这是linux权限的一个应用。(具体参见另文:待续。。。)
四、进程
linux的哲学是"一些都是文件",而文件是有user group other的rwx权限的。程序是放置在磁盘中的文件,通过用户的行为来执行触发。触发后会加载到内存中成为一个个体,这就是进程。为了操作系统可管理这个进程,因此进程被给予了执行者的权限/属性等参数,并包括所需要的脚本与数据和文件数据等,最后再赋予一个PID。系统就是根据这个PID和他所携带的权限信息来判断其是否有执行某个操作的权限。
在linux里任何的操作都是属于用户的,不存在没有用户的文件和线程。
linux的/bin目录的用户是bin,他的权限是[rwxr-xr-x]。而bin用户本身是不可以登录的。所有的登录用户从/bin/bash里获得的程序都是执行的read和execute权限。每个用户登录的时候本身还是在和另一个用户在交互,不同的用户获得的bash线程的PID是不一样的。
参考资料:Linux中用户管理详解(上)
参考图书:鸟哥的linux私房菜
linux用户登录的更多相关文章
- Linux用户登录记录日志和相关查看命令汇总
# 1 utmp.wtmp.btmp文件 Linux用户登录信息放在三个文件中: 1 /var/run/utmp:记录当前正在登录系统的用户信息,默认由who和w记录当前登录用户的信息,uptime记 ...
- Linux用户登录日志查询
# 1 utmp.wtmp.btmp文件 Linux用户登录信息放在三个文件中: 1 /var/run/utmp:记录当前正在登录系统的用户信息,默认由who和w记录当前登录用户的信息,uptime记 ...
- Linux用户登录记录日志和相关查看命令汇总(转)
# 1 utmp.wtmp.btmp文件 Linux用户登录信息放在三个文件中: 1 /var/run/utmp:记录当前正在登录系统的用户信息,默认由who和w记录当前登录用户的信息,uptime记 ...
- 初学Python-搞了一个linux用户登录监测小工具
这几天突发奇想,想学习一下Python.看了点基础,觉得有点枯燥,所以想搞点什么.想了想,就随便弄个检测Linux用户登录的小工具吧~ 首先,明确一下功能: 1.能够捕获 linux 用户登录的信息. ...
- (转)Linux用户登录记录日志和相关查看命令汇总
原文地址:http://www.cnblogs.com/lizhaoxian/p/5981029.html # 1 utmp.wtmp.btmp文件 Linux用户登录信息放在三个文件中: 1 /va ...
- 如何修改linux 用户登录后默认目录
1.linux用户登录后默认目录是在/etc/passwd文件设置的.如下图所示,一共显示了四行数据,其中第一行的/root即为root用户登录后的默认目录,第二行daemon用户的默认目录是/usr ...
- Linux用户登录查看命令总结 - w,who,last,lastlog
Linux用户登录查看命令总结 - w,who,last,lastlog linux shell 747 次阅读 · 读完需要 15 分钟 0 1. 查看登录用户信息 who -H 命令输出 NA ...
- 禁止Linux用户登录方法
我们在做系统维护的时候,希望个别用户或者所有用户不能登录系统,保证系统在维护期间正常运行.这个时候我们就要禁止用户登录. 1.禁止个别用户登录.比如禁止lynn用户登录. passwd -l lynn ...
- linux用户登录指定目录
一.创建用户和用户组 [root@web4 lianyu]# groupadd lianyu [root@web4 lianyu]# useradd lianyu -g lianyu [root@we ...
随机推荐
- No module named appium
在脚本中会有:from appium import webdriver 第一次运行时可能会遇到这样的error:No module named appium 之所以会报这样的error是因为没有装cl ...
- 简洁好看的form样式收藏
本文转载自 http://www.laozuo.org/3495.html 为了方便自己查阅所以搬运过来,如有侵权希望原作者联系我删除不要突然去法院告我呀! 颜色样式啥的都可以根据需求自己调整的,这些 ...
- 《Cracking the Coding Interview》——第11章:排序和搜索——题目8
2014-03-21 22:23 题目:假设你一开始有一个空数组,你在读入一些整数并将其插入到数组中,保证插入之后数组一直按升序排列.在读入的过程中,你还可以进行一种操作:查询某个值val是否存在于数 ...
- 【Radial Basis Function Network】林轩田机器学习技法
这节课主要讲述了RBF这类的神经网络+Kmeans聚类算法,以及二者的结合使用. 首先回归的了Gaussian SVM这个模型: 其中的Gaussian kernel又叫做Radial Basis F ...
- typeAliasesPackage 配置
mybatis 的 xml 文件中需要写类的全限定名,较繁琐,可以配置自动扫描包路径给类配置别名,有两种配置方式. 方式一: mybatis-config.xml 中配置 <typeAliase ...
- 使用python 3导入MySQLdb 报No module named 'MySQLdb'异常错误
MySQLdb只支持Python2.*,还不支持3.* 可以用PyMySQL代替安装PyMySQL后,在使用模块时使用import pymysql as MySQLdb 后续使用方式与MySQLdb ...
- ssh-debian87.sh
#!/bin/bash sed -i 's/PermitRootLogin without-password/PermitRootLogin yes/g' /etc/ssh/sshd_config s ...
- css深入理解vertical-align
第一讲:vertical-align家族基本认识 了解vertical-align支持的属性值以及组成 属性: 1.inherit 2.线类 baseline,top,middle,bottom 3. ...
- Java TCP通信概念及实例
TCP/UDP 协议 通俗解释: TCP协议和UDP协议的区别类似于电话系统和邮政系统. <1>TCP:类似于电话系统,建立双向的通信通道,确定连接,话音顺序接听. <2>UD ...
- node + express + iis + iisnode + urlrewrite搭建站点
前提条件:安装iis的电脑 准备条件: 1.下载iisnode 地址https://github.com/tjanczuk/iisnode/wiki/iisnode-releases 安装 2.下载 ...