linux【第六篇】用户和用户管理及定时任务复习
定时任务复习
1.什么是定时任务?
2.如何编辑查看定时任务(配置文件位置?),语法的特殊字符意义是什么?
- * , /
3.书写定时任务有哪些要领?
4.生产如何调试定时任务
5.生产场景配置定时任务需要注意的问题?
用户和用户管理
linux UID GID
管理员:root oldboy
用户和组的关系:
用户分类:
超级用户:UID = 0 root
普通用户: UID 500起 由超级用户或者具有超级用户权限的用户创造
虚拟用户:UID 1-499 存在满足文件或者服务启动的需要。一般 都不能登录,只是傀儡。
用户关联文件
/etc/passwd/, /etc/shadow, /etc/group , /etc/gshasow
用户管理的命令:
- useradd 添加用户 -u uid,-g指定所属组,-s 登录shell -M -e 指定用户过期时间
- userdel 删除用户
- passwd 改密码
- usermod 修改用户信息, -u uid ,-g 指定所属组,-s 登录shell -e 指定用户过期时间
- chage 查看及修改用户密码相关信息 -l 查看 -E 修改账户
- id 查看用户UID ,GID 及所归属的用户组
- lsattr 查看特殊属性
- chattr 设置特殊属性,例如:+i 不可变
- who 查看谁登录了
- whoami 查看当前用户
- users 只看有谁登录
- su 命令 切换用户角色
- 指定用户执行命令
[root@VM_141_154_centos ~]# su - oldboy -c "touch a.txt"
[root@VM_141_154_centos ~]# ls -l /home/oldboy/a.txt
-rw-rw-r-- 1 oldboy oldboy 0 Apr 9 15:46 /home/oldboy/a.txt
- su 用户角色切换工具,有可能功高盖主
- sudo 提升用户权限
/etc/skel 目录
- 用来存放新用户配置文件的目录,当我们添加新用户时,这个目录下的所有文件会自动被复制到新添加的用户的家目录下
- 默认情况下,/etc/skel 目录下的所有文件都是隐藏文件(以.开头的文件)
- 通过修改,添加,删除/etc/skel 目录下的文件,我们可为新创建的用户提供统一的,标准的,初始化用户环境。
useradd oldboy 系统会自动执行 cp -a /etc/skel/* /home/oldboy
- 企业案例:
当出现-bash-4.1$
cp -a /etc/skel/.bash* /home/oldboy
修改[root@VM_141_154_centos ~]
[root@VM_141_154_centos ~]由set|grep -i ps1控制
如下:想永久生效,放profile下面
[root@VM_141_154_centos ~]# set|grep -i ps1
PS1='[\u@\h \W]\$ '
useradd配置 行为控制
- /etc/default/useradd
- /etc/login.defs
[root@VM_141_154_centos ~]# cat /etc/default/useradd
# useradd defaults file
GROUP=100
HOME=/home
INACTIVE=-1
EXPIRE=
SHELL=/bin/bash
SKEL=/etc/skel
CREATE_MAIL_SPOOL=yes
关于useradd的目录:
- /etc/passwd/
- /etc/shadow
- /etc/group
- /etc/gshasow
useradd 参数实战 -c -u -G -s -d 多个参数组合的例子
实例:自定义的家目录,shell类型,所属的用户组等:添加用户oldboy6,
并设置其用户注释信息为Handsomeboy,UID指定为806,归属组为用户组 root,oldboy,sa成员,
其shell类型为/bin/sh,设置家目录为/oldboy6
实际操作结果:
useradd -c "Handsomeboy" -u 806 -G root,oldboy,sa -s /bin/sh -d /oldboy6 oldboy6
查看结果
grep "oldboy6" /etc/passwd/
id oldboy6
groupadd:用户组
重要参数:-g
group sa2 -g 888
查看 grep sa2 /etc/group
passwd修改密码
echo 123456|passwd --stdin oldboy
passwd --stdin oldboy <p.log
[root@VM_141_154_centos ~]# echo 123456|passwd --stdin oldboy
Changing password for user oldboy.
passwd: all authentication tokens updated successfully.
实例:下面要求oldboy用户7天内不能更改密码,60天以后
必须修改密码,过期前10通知,过期后30天后禁止登陆
- 第一种
passwd -n 7 -x 60 -w 10 -i 30 oldboy
查看
change -l oldboy
- 第二种
[root@VM_141_154_centos ~]# chage -m7 -M60 -W10 -I30 oldboy
[root@VM_141_154_centos ~]# chage -l oldboy
Last password change : Apr 09, 2017
Password expires : Jun 08, 2017
Password inactive : Jul 08, 2017
Account expires : never
Minimum number of days between password change : 7
Maximum number of days between password change : 60
Number of days of warning before password expires : 10
passwd 特殊权限说明
[root@VM_141_154_centos ~]# which passwd
/bin/passwd
[root@VM_141_154_centos ~]# ls -l /usr/bin/passwd
-rwsr-xr-x. 1 root root 27832 Jun 10 2014 /usr/bin/passwd
[root@VM_141_154_centos ~]# ls -l /etc/passwd
-rw-r--r-- 1 root root 1592 Apr 5 22:11 /etc/passwd
userdel:删除用户 groupdel:删除用户组
重要参数 -r,一般不用,会把家目录全删掉
[root@VM_141_154_centos ~]# useradd oldboy1
[root@VM_141_154_centos ~]# userdel -r oldboy1 删除用户组相关命令groupdel
[root@VM_141_154_centos ~]# groupadd sa
[root@VM_141_154_centos ~]# groupdel sa
查看当前账户状态chage -l oldboy
[root@VM_141_154_centos ~]# chage -l oldboy
Last password change : Apr 09, 2017
Password expires : never
Password inactive : never
Account expires : never
Minimum number of days between password change : 0
Maximum number of days between password change : 99999
Number of days of warning before password expires : 7
visudo
98 gg 切换到98行
root ALL=(ALL) ALL在这行下边编辑
oldboy ALL=(ALL) /bin/rm
还可以
[root@VM_141_154_centos ~]# echo "oldboy ALL=(ALL) /bin/rm">>/etc/sudoers
[root@VM_141_154_centos ~]# tail -l /etc/sudoers
## Allows members of the users group to mount and unmount the
## cdrom as root
# %users ALL=/sbin/mount /mnt/cdrom, /sbin/umount /mnt/cdrom ## Allows members of the users group to shutdown this system
# %users localhost=/sbin/shutdown -h now ## Read drop-in files from /etc/sudoers.d (the # here does not mean a comment)
#includedir /etc/sudoers.d
oldboy ALL=(ALL) /bin/rm
visudo检查语法错误
[root@VM_141_154_centos ~]# visudo -c
/etc/sudoers: parsed OK
visudo别名
机器别名
Host_Alias FILESERVERS = fs1, fs2
Host_Alias MAILSERVERS = smtp, smtp2 用户别名
User_Alias ADMINS = jsmith, mikem, %sa sa为一个用户组 命令别名
Cmnd_Alias NETWORKING = /sbin/route, /sbin/ifconfig, /bin/p ing, /sbin/dhclient, /usr/bin/net, /sbin/iptables, /usr/bin/r fcomm, /usr/bin/wvdial, /sbin/iwconfig, /sbin/mii-tool
服务器用户权限管理改造方案与实施项目(root泛滥)
1.问题现状
- 开发,运维,架构,DBA,产品,市场
- 经常导致文件莫名其妙的丢失
- 现提出针对linux服务器用户权限集中管理的解决方案
2.项目要求
- 最小化:安装软件最小化,权限最小化,(目录文件,用户权限,程序运行)
- 需要sudo管理来代替或结合su命令来完成
3.具体实现
- 分等级,分层次的实现对linux服务器管理的权限最小化,规范化。
- 这样既减少了运维管理或成本,又提高了工作效率,还方便日常系统维护
4.实施方案
- 说明:实施方案一般是有积极主动发现问题的运维人员提出问题,然后写好方案,再召集大家讨论可行性,最后确定方案,实施部署,最后后期总结维护。
- 思想:提问题,要有解决方案
- 到此为止:应该已经写完了权限规划文档。
4.1信息采集
- 各个部门人员名单,职位,及负责的业务及权限
- 张三 开发经理 blog业务 要求all,但是不能切入到root
4.2规范化
- 所有员工必须通过《员工Linux服务器管理权限申请表》
- 来申请对应的权限,确定审批流程,规范化管理。
4.3 写操作申明,对各部门人进行操作讲解。
- sudo执行命令,涉及到path变量问题,运维提前处理好。
5.模拟创建用户角色
建立3个初级运维,一个高级运维,一个网络工程师,一个运维经理,密码统一111111
[root@VM_141_154_centos ~]# for user in chuji001 chuji002 chuji003 net001 senior001 manager001
> do
> useradd $user
> echo "111111"|passwd --stdin $user
> done
Changing password for user chuji001.
passwd: all authentication tokens updated successfully.
Changing password for user chuji002.
passwd: all authentication tokens updated successfully.
Changing password for user chuji003.
passwd: all authentication tokens updated successfully.
Changing password for user net001.
passwd: all authentication tokens updated successfully.
Changing password for user senior001.
passwd: all authentication tokens updated successfully.
Changing password for user manager001.
passwd: all authentication tokens updated successfully.
建立5个开发人员,属于phpers组
[root@VM_141_154_centos ~]# groupadd -g 1000 phpers
[root@VM_141_154_centos ~]# for n in `seq 5`
> do
> useradd -g phpers php00$n
> echo "111111"|passwd --stdin php00$n
> done
Changing password for user php001.
passwd: all authentication tokens updated successfully.
Changing password for user php002.
passwd: all authentication tokens updated successfully.
Changing password for user php003.
passwd: all authentication tokens updated successfully.
Changing password for user php004.
passwd: all authentication tokens updated successfully.
Changing password for user php005.
passwd: all authentication tokens updated successfully. [root@VM_141_154_centos ~]# for user in kaifamanager001 seniorphpers
> do
> useradd $user
> echo "111111"|passwd --stdin $user
> done
Changing password for user kaifamanager001.
passwd: all authentication tokens updated successfully.
Changing password for user seniorphpers.
passwd: all authentication tokens updated successfully.
sudo配置注意事项
提示:授权ALL在进行排除是会让我们防不胜防,这种先开后关的策略斌不是好的策略。
- 1.命令别名下的成员必须是文件或目录的绝对路径
- 2.别名名称是包含大写字母,数字,下划线,如果是字母都要大写
- 3.一个别名下有多个成员,成员与成员之间,通过半角","号分隔,成员必须是有效实际存在的。
- 4.别名成员受别名类型 Host_Alias,User_Alias,Runas_Alias,Cmnd_Alias制约定义什么类型的别名,就要有什么类型的成员相配
- 5.别名规则是每行算一个规则,如果一个别名规则一行容不下时,可以通过"\"来续行
- 6.指定切换的用户要用()括起来,如果省略括号,则默认为root用户如果括号里是(ALL),则代表能切换到所有用户
- 7.如果不需要密码直接运行命令的,应该加NOPASSWD:参数
- 8.禁止某类程序或命令执行,要在命令动作前面加上"!"号,并且放在允许执行命令的后面。
- 9.用户组前面必须加%号
服务器日志审计项目
- 1.权限控制后进一步实施对所有用户日志记录方案
- 2.通过sudo和syslog配合实现对所有用户进行日志审计并将记录集中管理
- 3.实施后让所有运维和开发的所有执行的命令都有记录可查,杜绝了内部人员的操作安全隐患。
配置sudo命令用户行为日志审计
说明:所谓sudo命令日志审计,并不记录普通用户的普通操作。而是记录,那些执行sudo命令的用户操作。
生产场景日志审计 sudo配合syslog
安装 sudo syslog
[root@VM_141_154_centos ~]# yum install sudo syslog -y
查看安装了没
[root@VM_141_154_centos ~]# rpm -aq|egrep "sudo|rsyslog"
rsyslog-7.4.7-16.el7.x86_64
sudo-1.8.6p7-21.el7_3.x86_64 配置sudoser
[root@VM_141_154_centos ~]# echo "Defaults logfile=/var/log/sudo.log">>/etc/sudoers
查看配置
[root@VM_141_154_centos ~]# tail -l /etc/sudoers
检查语法
[root@VM_141_154_centos ~]# visudo -c
/etc/sudoers: parsed OK
配置系统日志/etc/syslog.conf
增加配置 local2.debug到/etc/syslog.conf中
[root@VM_141_154_centos ~]# echo "local2.debug /var/log/sudo.log">>/etc/rsyslog.conf
重启rsyslog服务
[root@VM_141_154_centos ~]# systemctl restart rsyslog 执行sudo操作后
[oldboy@VM_141_154_centos ~]$ sudo - root
[sudo] password for oldboy:
oldboy is not in the sudoers file. This incident will be reported.
将sudo操作记录到sudo.log中
[root@VM_141_154_centos log]# ll /var/log/sudo.log
-rw------- 1 root oldboy 111 Apr 10 16:49 /var/log/sudo.log
linux【第六篇】用户和用户管理及定时任务复习的更多相关文章
- 用户管理 之 在Linux系统中,批量添加用户的操作流程
一.阅读此文件您需要掌握的基础知识: <Linux 用户(user)和用户组(group)管理概述><用户(user)和用户组(group)配置文件详解><Linux 用 ...
- Linux系列教程(十四)——Linux用户和用户组管理之相关配置文件
前面我们介绍了软件包管理.首先介绍了rpm包的相关命令,但是我们发现直接安装rpm包会被其依赖性折磨的不行,然后解决办法是yum在线管理,通过yum命令安装rpm包能自动帮助我们解决依赖性.最后又介绍 ...
- linux 用户创建、管理、权限分配
(1)su与sudo su:通过su可以在用户之间切换,如果超级权限用户root向普通或虚拟用户切换不需要密码,什么是权力?这就是!而普通用户切换到其它任何用户都需要密码验证: sudo: sudo扮 ...
- linux用户和组管理,/etc/passwd 、/etc/shadow和/etc/group 文件内容解释
与用户相关的系统配置文件主要有/etc/passwd 和/etc/shadow,其中/etc/shadow是用户资讯的加密文件,比如用户的密码口令的加密保存等: /etc/passwd 和/etc/s ...
- linux系统用户以及用户组管理
本系列的博客来自于:http://www.92csz.com/study/linux/ 在此,感谢原作者提供的入门知识 这个系列的博客的目的在于将比较常用的liunx命令从作者的文章中摘录下来,供自己 ...
- linux入门教程(七) linux系统用户以及用户组管理
关于这部分内容,笔者在日常的linux系统管理工作中用到的并不多,但这并不代表该内容不重要.毕竟linux系统是一个多用户的系统,每个账号都干什么用,你必须了如指掌.因为这涉及到一个安全的问题. [认 ...
- java程序员菜鸟进阶(十五)linux基础入门(三)linux用户和组管理
我们大家都知道,要登录linux操作系统,我们必须要有一个用户名和密码.每一个用户都由一个惟一的身份来标识,这个标识叫做用户ID.系统中的每一个用户也至少需要属于一个"用户分组". ...
- linux内核--用户态内存管理
在上一篇博客“内核内存管理”中,描述的内核内存管理的相关算法和数据结构,在这里简单描述用户态内存管理的数据结构和算法. 一,相关结构体 与进程地址空间相关的全部信息都包含在一个叫做“内存描述符”的数据 ...
- Linux用户和用户组管理总结
Linux下和用户和用户组管理有关的配置文件: /etc/group Group account information. /etc/gshadow Secure group account info ...
随机推荐
- UVa-133-救济金发放
这题的话,我们首先对于移动函数可以知道,因为只是顺逆的关系,也就是加一或者减一,所以我们每次移动的时候,都补上一个小于n的最大整数,然后取模,这样就不会有负数,而且加之后的结果不会超过2*n,所以我们 ...
- dubbo负载均衡策略和集群容错策略
dubbo负载均衡策略 random loadbalance 默认情况下,dubbo是random load balance随机调用实现负载均衡,可以对provider不同实例设置不同的权重,会按照权 ...
- style对象的cssText方法
cssText 本质是什么? cssText 的本质就是设置 HTML 元素的 style 属性值. cssText 怎么用? domElement.style.cssText = "col ...
- source not found
Eclipse 调试 时, 无论在activity中哪一行打断点.调试时,都会跳转到activity源码中.报错 source not found : 解决办法: ->在调试的线程上 右键单击 ...
- NowCoder栗酱的连通图(最小生成树, 结论)
链接: https://www.nowcoder.com/acm/contest/52/K 题意: 给定n个点,每个点有自己的权值, 然后让你添加n-1条边,使其边权和最大, 边权的定义是两点的点权和 ...
- [BZOJ 3823]定情信物
题面 定情信物 题解 这题主要考高中物理和数学. 首先定义 \(f[i][j]\) 表示 \(i\) 维超立方体中第 \(j\) 维元素的数量,根据实际意义,我们可以推出递推式: \(f[i][j]= ...
- 关联及web_reg_save_param
一.什么是关联 关联(correlation):脚本回放过程中,客户端发出请求,通过关联函数所定义的左右边界值(也就是关联规则),在服务器所响应的内容中查 找,得到相应的值,已变量的形式替换录制时的静 ...
- [转]eclipse的android智能提示设置
以往 我们往往在输入 "." 然后 alt+/ 来进行智能提示,下面这个方法,可以帮你大幅度的提高智能打开 Eclipse -> Window -> Perferenc ...
- Sencha Touch 2 实现跨域访问
最近要做手机移动App,最后采用HTMML5来做框架用Sencha Touch,在数据交互时遇到了Ajax跨域访问,在Sencha Touch 2中,实现跨域访问可以使用Ext类库提供给我们的类Ext ...
- [NOIP2003] 提高组 洛谷P1038 神经网络
题目背景 人工神经网络(Artificial Neural Network)是一种新兴的具有自我学习能力的计算系统,在模式识别.函数逼近及贷款风险评估等诸多领域有广泛的应用.对神经网络的研究一直是当今 ...