第六节 etc/passwd 、etc/shadow 、 useradd 、 groupadd
调优方法
原理:禁用atime的修改来节省cpu和内存资源。
命令:mount noatime disk
1、配置文件
1. /etc/passwd
文档结构:由":" 分隔成7个字段"username":"x":"uid":"gid":"remark":"homedirectory":"shell environment"
默认权限:-rw-r--r--
(1) username,用户名称
命名规则:大小写字母、数字、减号(不能出现在首位)、点以及下划线,其他字符不合法。
(2) x,密码空位键
安全起见放到 /etc/shadow。
(3) uid,用户ID
可用ID,0-4294967294=2^32-2;
root的uid=0;1-499系统保留;普通账户是从500开始。
普通用户的uid可以改成0,此时系统就将其识别成root用户。
(4) gid,主组id
组配置文件/etc/group。
(5) remark,注释说明
该字段没有实际意义,通常记录用户的一些属性,例如姓名、电话、地址等等 用 chfn 更改;
(6) home directory,用户家目录
(7) shell environment,shell环境
/bin/bash;/bin/false; /sbin/nologin(禁止该用户登录)。
2. /etc/shadow
文档结构:使用":"分隔成9个字段,“用户名:密码(密文):此密码设置日期:密码不可更改的天数:
密码需要重置的天数:密码到期提前提醒天数:帐号失效后宽限天数:帐号失效日期:保留位”
默认权限:----------(除了root用户,其他所有普通用户包括root组成员都没有任何权限呦)
(1) 用户名
是与/etc/passwd文件中的登录名相一致的用户账号。
(2) 密码
已加密显示密文,不可逆,但可被破解;
!!表示密码为空
(3)当前密码的设置日期
此日期用设置当前密码的日期和1970年1月1日的差值来表示
(例如上次更改密码的日期为2012年1月1日,则这个值就是 '365 x (2012-1970) + 10 + 1= 15341')
******************************************************************************************
至於想要知道某個日期的累積日數,可使用如下的程式計算:
[root@www ~]# echo $(($(date --date="2008/09/04" +%s)/86400+1))
14126
上述指令中,2008/09/04 為你想要計算的日期,86400 為每一天的秒數, %s 為 1970/01/01 以來的累積總秒數。 由於 bash 僅支援整數,因此最終需要加上 1 補齊 1970/01/01 當天。
来自 <http://linux.vbird.org/linux_basic/0410accountmanager.php#shadow_file>
*******************************************************************************************
(4)密码不可被更改的天数(与第三段日期比较)
值为0时,意为不限制,随时可更改。
如果设置为20,则20天内用户不可更改密码。
(5)密码需要重置的天数(与第三段日期比较)
默认值是99999,远远超出电脑寿命,基本可以认为永不过期。
(6)密码到期前提前提醒天数(与第五段日期比较)
例:设置为7既为密码到期日提前7天提醒用户修改密码,“您的密码还有n天就要过期,请及时修改密码”。
(7)帐号失效后宽限天数
到期后过多少天锁定帐号
(8)帐号失效日期
计算方式同第三段;
应该可以用到收费服务上。
(9)保留位
2、用户及用户组相关命令
id
作用:查看用户的uid、gid和所属组信息
语法:id username
例如:
[root@web01 ~]# id essence
uid=500(essence) gid=500(essence) groups=500(essence)
groupadd
作用:增加用户组
配置文件:/etc/group & /etc/gshadow
语法:groupadd 参数 groupname
参数:-g 指定gid
例如:
[root@web01 ~]# groupadd -g 505 tst1
[root@web01 ~]# grep "tst1" /etc/group
tst1:x:505: 《----gid为505
groupdel
作用:删除用户组
语法:groupdel groupname
PS:单纯作为附属组的时候是可以直接删除的,但如果作为用户的主组,就不能随意删除了,需要提前把用户清空
例如:
[root@web01 ~]# id essence
uid=500(essence) gid=500(essence) groups=500(essence) 《——gid代表主组
[root@web01 ~]# groupdel essence
groupdel: cannot remove the primary group of user 'essence' 《——提示不可删除
[root@web01 ~]# cat /etc/group |grep "tst01"
tst01:x:504:essence 《——tst01是essence的附属组
[root@web01 ~]# groupdel tst01 《——可直接删除
[root@web01 ~]# cat /etc/group |sort -t ":" -k 3 -n |tail -3
oracle:x:502:
webapp:x:503:
nfsnobody:x:65534: 《——查询结果显示tst01组被删除
useradd
作用:增加用户
语法:useradd 参数 username
参数:
-u 指定uid
-g 指定gid或组名(但指定的组名必须存在)
-d 指定家目录
-M 不建立家目录,但依然会创建用户的mail目录
-s 自定义shell环境,可控制普通用户不能登录,通过设置“/sbin/nologin”
PS:多个用户可以共享一个主组
PS:uid和gid分配的时候,以该id的最大数字+1
useradd -g参数可指定一个其他用户的主组为新增用户的主组
[root@web01 ~]# id essence
uid=500(essence) gid=500(essence) groups=500(essence)
[root@web01 ~]# useradd -g essence zpw02 《——制定zpw02的主组为essence
[root@web01 ~]# id zpw02
uid=505(zpw02) gid=500(essence) groups=500(essence) 《——zpw02的gid为500
==================================================
useradd 家目录下的隐藏文件可从/etc/skel下拷贝过来
[root@web01 zpw02]# ls -ail /home/zpw02
total 28
17 drwx------ 4 505 500 4096 Nov 23 19:33 . 《——因为zpw02和essence都被删除,
2 drwxr-xr-x. 10 root root 4096 Nov 23 19:33 .. 所以uid和gid没有用户名和组名。
19 -rw-r--r-- 1 505 500 18 Jul 18 2013 .bash_logout
18 -rw-r--r-- 1 505 500 176 Jul 18 2013 .bash_profile
24 -rw-r--r-- 1 505 500 124 Jul 18 2013 .bashrc
20 drwxr-xr-x 2 505 500 4096 Nov 12 2010 .gnome2
21 drwxr-xr-x 4 505 500 4096 Nov 12 21:19 .mozilla
[root@web01 zpw02]# ls -ail /etc/skel
total 28
129852 drwxr-xr-x. 4 root root 4096 Nov 12 21:19 . 《——和用户家目录下隐藏文件相同,所以
129797 drwxr-xr-x. 90 root root 4096 Nov 23 19:39 .. 如果创建用户时用-M属性,之后想增
129885 -rw-r--r--. 1 root root 18 Jul 18 2013 .bash_logout 加家目录,就可以从此目录下拷贝隐藏
129886 -rw-r--r--. 1 root root 176 Jul 18 2013 .bash_profile 文件。
129887 -rw-r--r--. 1 root root 124 Jul 18 2013 .bashrc
130807 drwxr-xr-x. 2 root root 4096 Nov 12 2010 .gnome2
129872 drwxr-xr-x. 4 root root 4096 Nov 12 21:19 .mozilla
userdel
作用:删除用户,无参数时默认不删除家目录
语法:userdel 参数 username
参数:-r 删除用户的家目录和邮件目录(/var/spool/mail/username)
例如:
[root@web01 ~]# userdel -r zpw01 《——同时删除家目录和邮件目录
[root@web01 ~]# ls /home
essence lost+found oracle user3 webapp zpw zpw02
[root@web01 ~]# ls /var/spool/mail
essence lisi oracle root rpc webapp zpw zpw02
[root@web01 ~]# userdel zpw02 《——不加-r属性,家目录和邮件目录还在
[root@web01 ~]# ls /home
essence lost+found oracle user3 webapp zpw zpw02
[root@web01 ~]# ls /var/spool/mail
essence lisi oracle root rpc webapp zpw zpw02
usermod
作用:修改用户uid、gid、家目录、附属组等信息
语法:usermod 参数 参数内容 username
参数
-u 修改用户uid
-s 修改用户shell环境
-d 修改目录家目录
-L 锁定用户密码,使之不能用密码登录
-U 解锁用户密码
-g 指定用户主组gid
-G 指定用户附属组(1个用户可以有多个附属组)
PS:usermod -G "" user 把附属组清空
[root@web01 ~]# usermod -L essence
[root@web01 ~]# cat /etc/shadow|grep "essence"
essence:!$6$lBhElHM$UHKJjTGrCyo2upw1OlIG6F8SE09VYGTLHlBw0/MBVgIu5ZZh1e1koc7tHWDBHk4obu
33CEe/FrSEn4bpnDpdo1:16397:0:99999:7::: 《——在原密码前增加"!"使密码失效
[root@web01 ~]# su - essence
[essence@web01 ~]$ exit 《——root用户可使用su命令无密码登录该用户
logout
[root@web01 ~]# su - zpw
[zpw@web01 ~]$ su - essence
Password:
su: incorrect password 《——普通用户su登录essence时候,提示错误密码
用另外的终端登录essence
essence@192.168.0.80's password:
Access denied 《——开单独终端登录时提示拒绝登录
chfn finger
passwd
作用:修改用户密码
语法:passwd 用户名
创建密码的规则:
长度大于10;含大小写字母数字以及特殊字符 ;不规则性;不要带有自己名字、公司名字、自己电话、自己生日等。
扩展内容:mkpasswd 生成密码的工具,安装 expect包
su
作用:切换effective用户
语法:su 用户名(改变$HOME,不改变$PATH)
语法: su - 用户名 (改变$HOME和$PATH)
扩展资料:http://www.aminglinux.com/bbs/thread-6912-1-1.html
sudo
作用:临时获得root权限(su到root需要输入root的密码不安全,所以sudo是一个好选择)
修改配置文件命令:visudo
安装方法: yum install -y sudo
语法:su 正常命令输入
配置文件:/etc/sudoers
格式:
user
host=(as_user)
commands
内容:
aming
ALL=(root)
/bin/ls
意义是,让aming这个普通用户,拥有root的权限,针对ls这个命令。
PS:su - -c "touch /tmp/123.txt"user 相当于用user去创建这个123文件
PS:/etc/ssh/sshd_config 禁止root远程登录
PS:先禁止root远程登录,用普通用户登录后,在用”sudo su -“登录root
扩展资料:
Keepass,管理密码软件
Keepass官网地址: http://www.keepass.info
第六节 etc/passwd 、etc/shadow 、 useradd 、 groupadd的更多相关文章
- 【转载】/etc/passwd & /etc/shadow 详解
转载自:http://blog.csdn.net/snlying/article/details/6130468 1,passwd文件passwd文件存放在/etc目录下.这个文件存放着所有用户帐号的 ...
- ref:linux用户和组管理,/etc/passwd,/etc/shadow和/etc/group 文件内容解释
ref:https://www.cnblogs.com/xuha0/p/5519232.html 与用户相关的系统配置文件主要有/etc/passwd 和/etc/shadow,其中/etc/shad ...
- centos linux系统日常管理3 服务管理ntsysv,chkconfig,系统日志rsyslog,last ,lastb ,exec,xargs,dmesg,screen,nohup,curl,ping ,telnet,traceroute ,dig ,nc,nmap,host,nethogs 第十六节课
centos linux系统日常管理3 服务管理ntsysv,chkconfig,系统日志rsyslog,last ,lastb ,exec,xargs,dmesg,screen,nohup,cur ...
- 基于Extjs的web表单设计器 第六节——界面框架设计
基于Extjs的web表单设计器 基于Extjs的web表单设计器 第一节 基于Extjs的web表单设计器 第二节——表单控件设计 基于Extjs的web表单设计器 第三节——控件拖放 基于Extj ...
- 第一百二十六节,JavaScript,XPath操作xml节点
第一百二十六节,JavaScript,XPath操作xml节点 学习要点: 1.IE中的XPath 2.W3C中的XPath 3.XPath跨浏览器兼容 XPath是一种节点查找手段,对比之前使用标准 ...
- VUE2.0实现购物车和地址选配功能学习第六节
第六节 地址列表过滤和展开所有的地址 html:<li v-for="(item,index) in filterAddress">js: new Vue({ el:' ...
- delphi 线程教学第六节:TList与泛型
第六节: TList 与泛型 TList 是一个重要的容器,用途广泛,配合泛型,更是如虎添翼. 我们先来改进一下带泛型的 TList 基类,以便以后使用. 本例源码下载(delphi XE8版本) ...
- 第十六节、基于ORB的特征检测和特征匹配
之前我们已经介绍了SIFT算法,以及SURF算法,但是由于计算速度较慢的原因.人们提出了使用ORB来替代SIFT和SURF.与前两者相比,ORB有更快的速度.ORB在2011年才首次发布.在前面小节中 ...
- 第四百一十六节,Tensorflow简介与安装
第四百一十六节,Tensorflow简介与安装 TensorFlow是什么 Tensorflow是一个Google开发的第二代机器学习系统,克服了第一代系统DistBelief仅能开发神经网络算法.难 ...
随机推荐
- 重要:关于PPT转图片需要注意的问题
关于PPT转图片的问题需要注意的问题 我们有一个项目做过直接上传ppt的功能,但是网页不可能显示ppt,所以只能把ppt转成pdf或者图片来显示,我们的做法是转成了图片,然后使用swiper做成类 ...
- 用lua+redis实现一个简单的计数器功能 (二)
环境已经搭建完毕 传送门 计数方案 就目前来看nginx是最快的服务 我在设计方案时选择信任redis作为存储库,不做穿透处理,由于目前redis集群方案还不成熟,只在这里做了主备方案.想做集群方案的 ...
- iOS 超大高清图展示策略 TileLayer 及 levelsOfDetailBias 分析
本次分析针对当下流行的中国地图图片处理,1亿像素,就是下面这张: 原图尺寸:11935x8554 文件大小:22.1MB 原始加载方式 首先,我们尝试一下直接加载的方式,看看效果会有多恐怖 效果请看下 ...
- 翻译连载 | 附录 C:函数式编程函数库-《JavaScript轻量级函数式编程》 |《你不知道的JS》姊妹篇
原文地址:Functional-Light-JS 原文作者:Kyle Simpson-<You-Dont-Know-JS>作者 关于译者:这是一个流淌着沪江血液的纯粹工程:认真,是 HTM ...
- JavaScript参考
要查看英语原文,请勾选"英语"复选框.也可将鼠标指针移到文本上,在弹出窗口中显示英语原文. 翻译 英语 JavaScript 语言参考 JavaScript 是一种可嵌入网页和其他 ...
- 关于PHP输出字符串多了两个字节的BUG
近日IOS开发那边小伙伴跟我说,解析服务器发回的字符信息时候出现bug. 明明利用Log输出来的是字符串"hello" 可是利用length计算就是多出来两个字节,比如这里是7. ...
- SQL Server 2017 安装过程中的一点说明(有点意思)
会提到:“安装程序无法与下载服务器联系.请提供 Microsoft 机器学习服务器安装文件的位置,然后单击“下一步”.可从以下位置下载安装文件” 的解决方案 安装过程和2016大体一致,机器学习这款更 ...
- javaweb学习总结(五)——Servlet开发(一)(转)
转载自 http://www.cnblogs.com/xdp-gacl/p/3760336.html 一.Servlet简介 Servlet是sun公司提供的一门用于开发动态web资源的技术. Sun ...
- Android应用开发allowBackup敏感信息泄露的一点反思
1 背景 [工匠若水 http://blog.csdn.net/yanbober 转载烦请注明出处.尊重劳动成果] 事实上这篇文章可能有些小题大作,但回过头想想还是非常有必要的,有点阴沟里翻船的感觉. ...
- BZOJ 1032 JSOI2007 祖码Zuma 动态规划
题目大意:给定一个祖玛序列,任选颜色射♂出珠子,问最少射♂出多少珠子 输入法近期越来越奇怪了0.0 首先我们把连续同样的珠子都缩在一起 令f[i][j]表示从i開始的j个珠子的最小消除次数 初值 f[ ...