频道栏目
首页 > 资讯 > Linux > 正文

Linux运维之用户执行应用程序的过程解析

18-07-26        来源:[db:作者]  
收藏   我要投稿

进程 : 用户执行应用程序的过程

权限 : 用户对于应用程序的执行能力

文件属主 文件属组 其它用户

用户:多任务,多用户

权限隔离机制 (基于多用户实现)

操作系统识别用户

用户:UID 组:GID 逻辑容器:包含用户 实现多个用户对于某个文件或应用程序分配相同的权限)

用户分类:

管理员用户:root UID:0 普通用户:1000-65535 程序(系统)用户:1-999

组分类: 逻辑容器,实现为用户集中授权

管理员组/普通组 基本组:Linux的中,新建用户时,没有指定隶属于的组,系统会为该用户指定一个同名组,作为该用户的基本组 附加组:方便以后为用户分配权限,有效组

用户名解析:

/ etc / passwd : 存储用户基本信息

  				 第一列:用户的登录名
  				 第二列:加密密码(x:标识密码占位符,密码保存在/ etc / shadow)
  				 第三列:UID号
  				 第四列:GID号
  				 第五列:用户的描述信息
  				 第六列:用户的宿主目录
  				 第七列:用户默认使用的shell

/etc/shadow:存储用户的影子口令

 				  第一列:用户得到登录名
 				  第二列:用户加密后的密码
 				  
 						  密码区域解释:$id$salt$encypted
 							   man 3 crypt
 									第一部分:加密算法,以id号区分
 												1. MD5
 												5. SHA-256
 												6. SHA512
 									第二部分:随机序列号,目的抗撞库
 									第三部分:随机序列号和密码共同加密后的字符串
 				  第三列:最后一次密码更改的时间
 				  第四列:密码最短使用时间(用户无法更改密码)
 				  第五列:密码最长使用时间(用户必须更改密码)
 				  第六列: 用户密码过期前的警告时间
 				  第七列: 密码过期后一个宽限时间
 				  第八列: 用户密码失效时间
 				  第九列: 保留选项

/ etc / group:存储组的基本信息

用户管理文件

/etc/default/useradd

  GROUP=100      可以创建普通组
  HOME=/home     普通用户宿主目录
  INACTIVE=-1     是否启用用户过期停止使用权,-1表示不启用
  EXPIRE=       过期时间:20170501
  SHELL=/bin/bash  默认使用shell
  SKEL=/etc/skel   新用户宿主目录模板目录
  CREATE_MAIL_SPOOL=yes · 是否启用邮件通知功能

/etc/skel/ :用户宿主目录的模板目录 只对新建用户生效

     .bash_logout    用户注销时执行党的命令
     .bash_profile   用户登录系统时执行的命令
     .bashrc       用户登录新shell时执行的命令

/etc/login.defs : 只对新建用户生效

  		   MAIL_DIR       /var/spool/mail  //用户邮件目录
  			PASS_MAX_DAYS   99999         //密码最长使用期限
  			PASS_MIN_DAYS    0           //密码最短使用期限,0代表不受限制
  			PASS_MIN_LEN    5            //密码最短长度
  			PASS_WARN_AGE    7           //密码过期警告时间
  			UID_MIN        500          //普通用户最小UID号
  			UID_MAX        60000        //普通用户最小UID号
  			SYS_UID_MIN     201          //系统用户最小UID
  			SYS_UID_MAX     999            
  			GID_MIN        500
  			GID_MAX        60000
  			SYS_GID_MIN     201
  			SYS_GID_MAX     999
  			CREATE_HOME     yes         //时候出房间宿主目录
  			UMASK         077         //关于权限反掩码
  			USERGROUPS_ENAB yes           //删除用户时是否删除组
  			ENCRYPT_METHOD SHA512         //用户密码的加密方式

用户管理命令

useradd : 添加新用户 (更改/etc/passwd /etc/shadow /etc/group /home/username)

useradd [options] username -c 为用户添加描述信息 -d 指定用户宿主目录 -D 改变默认值,修改/etc/default/useradd里的默认配置,不加选项可以查看默认配置 -g 修改组 -b 修改宿主目录 -f 修改过期是否停用 -e 修改过期时间 -s 修改默认shell -e 新建用户时,设置默认过期时间 -g 指定用户的基本组(没有该选项,Linux新建用户时会新建同名组,作为用户的基本组) -G 新建用户时,指定用户的附加组,可以有多个,以,隔开 -m 创建宿主目录,和-k(指定skel)一起使用 -M 创建用户时,不创建宿主目录 -p 创建用户时,设置加密密码 -r 创建系统用户(不创建宿主目录,UID和GID为系统ID) -s 指定默认shell -u 指定用户的UID,不加该选项默认加1

passwd : 修改用户密码

普通用户设置密码时,先验证当当前密码,符合密码策略 root用户设置密码时,不验证当前密码,不要求符合密码策略 pass [options] username 不加选项表示为自己设置密码 -l 锁定用户(暂时无法登录系统) -u 解锁用户 -S 查看用户状态,显示/etc/shadow文件中各个字段的内容

--stdin 标准输入,经常用于shell脚本编程

-d delete用户密码,允许普通用户以空密码登录 -e 快速设置用户密码过期,用户登录时需要修改密码 -n 设置密码最小使用天数,修改shadow中第四列 -x 设置密码最大使用期限 -w 设置密码过期前的警告时间 -i 设置密码过期后的宽限时间

userdel : 删除用户 userdel [options] username (更改/etc/passwd /etc/shadow /etc/group)

-r 删除用户时,连同删除宿主目录

usermod : 修改用户属性 usermod [options] username (修改 /etc/passwd)

-c 更改用户的描述信息

-d 更改用户的宿主目录 -e 更改用户的过期时间,格式为年-月-日 -f 更改/etc/shadow第七列内容 -g 修改用户的基本组 -G 修改用户的附加组 -l 修改用户的登录名,修改passwd

-s 修改用户的shell -L 锁定用户 -U 解锁用户

chsh 修改用户的shell,相当于usermod -s ,chsh [options] username

-s 更改用户的shell

比如限制apache用户登录系统(/sbin/nologin) -l 显示当前系统支持的shell(/etc/shells)

finger 显示用户的基本信息

chfn 修改用户的基本信息

-o 修改办公室 -p 修改办公室电话号码 -h 修改家庭电话号码 -f 修改用户名

id 显示用户和组的ID id [options] username

id 显示当前用户id -a 忽略系统版本差别 -Z 显示安全上下文内容 -g 显示基本组id -G 显示所属组的id -n 不显示组号,显示组名 -u 仅显示用户ID

chagel 修改用户密码的时间信息(shadow) chagel [options] username

-l 列出用户详细的密码参数 -d 修改shadow中第三列内容,后面跟2017-05-1 -E 修改shadow中第八列内容,账号的失效时间 -I 修改shadow中第七列内容,密码过期后的宽限时间,跟天数 -m 修改shadow中第四列内容,密码最小使用期限,跟天数 -M 修改shadow中第五列内容,密码最大使用期限,跟天数

组管理命令

配置文件

/etc/group

第一列:组的名字 第二列:组的密码区域 第三列:组的ID号 第四列:组的成员 /etc/gshadow

第一列:组的名字 第二列:组的密码 第三列:组的管理员 第四列:组的成员列表

组管理命令

groupadd [options] groupname

-d 创建组时指定组的ID -r 添加一个系统组

groupdel groupname

默认情况下不能删除基本组 可以通过修改用户的基本组 usermod -g tom mike userdel mike 可以删除用户的同时,系统会删除同名基本组(要求该组是一个用户的基本组)

groupmod [options] groupname

修改组的属性 -n 修改组名 -g 修改GID

gpasswd [options] groupname

为组设置密码,设置组的管理员,添加组成员 gpassword groupname 为组设置密码 -A 为组设置管理员 gpasswd -A username groupname -M 批量添加用户,用,隔开 -r 为组移除密码 -R 让组的密码失效 -a 为组添加成员(组的管理员操作) -d 删除组成员(组的管理员操作)

newgrp

为用户修改有效组(只在当前shell生效) newgrp groupname 为当前用户修改属主 exit 退出newgrp

groupmems

为组添加成员,显示组成员列表 -l 显示组成员列表 -a 删除一个用户 -d 删除一个用户

工具安装--Centos7

yum -y install vim make cmake mlocate man man-pages sysstat net-tools yum -y groupinstall "Development tools" mandb //生成whatis数据库 updatedb //生成locate数据库,查找文件 vim /etc/selinux/config SELINUX= disabled systemctl disabled firewalld //开机禁用防火墙 systemctl stop firewalld //开机停止防火墙

相关TAG标签
上一篇:代码发布架构方案(SVN)
下一篇:分享phpize的安装教程
相关文章
图文推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站