调优方法
原理:禁用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的更多相关文章

  1. 【转载】/etc/passwd & /etc/shadow 详解

    转载自:http://blog.csdn.net/snlying/article/details/6130468 1,passwd文件passwd文件存放在/etc目录下.这个文件存放着所有用户帐号的 ...

  2. ref:linux用户和组管理,/etc/passwd,/etc/shadow和/etc/group 文件内容解释

    ref:https://www.cnblogs.com/xuha0/p/5519232.html 与用户相关的系统配置文件主要有/etc/passwd 和/etc/shadow,其中/etc/shad ...

  3. 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 ...

  4. 基于Extjs的web表单设计器 第六节——界面框架设计

    基于Extjs的web表单设计器 基于Extjs的web表单设计器 第一节 基于Extjs的web表单设计器 第二节——表单控件设计 基于Extjs的web表单设计器 第三节——控件拖放 基于Extj ...

  5. 第一百二十六节,JavaScript,XPath操作xml节点

    第一百二十六节,JavaScript,XPath操作xml节点 学习要点: 1.IE中的XPath 2.W3C中的XPath 3.XPath跨浏览器兼容 XPath是一种节点查找手段,对比之前使用标准 ...

  6. VUE2.0实现购物车和地址选配功能学习第六节

    第六节 地址列表过滤和展开所有的地址 html:<li v-for="(item,index) in filterAddress">js: new Vue({ el:' ...

  7. delphi 线程教学第六节:TList与泛型

    第六节: TList 与泛型   TList 是一个重要的容器,用途广泛,配合泛型,更是如虎添翼. 我们先来改进一下带泛型的 TList 基类,以便以后使用. 本例源码下载(delphi XE8版本) ...

  8. 第十六节、基于ORB的特征检测和特征匹配

    之前我们已经介绍了SIFT算法,以及SURF算法,但是由于计算速度较慢的原因.人们提出了使用ORB来替代SIFT和SURF.与前两者相比,ORB有更快的速度.ORB在2011年才首次发布.在前面小节中 ...

  9. 第四百一十六节,Tensorflow简介与安装

    第四百一十六节,Tensorflow简介与安装 TensorFlow是什么 Tensorflow是一个Google开发的第二代机器学习系统,克服了第一代系统DistBelief仅能开发神经网络算法.难 ...

随机推荐

  1. 翻译连载 | 附录 B: 谦虚的 Monad-《JavaScript轻量级函数式编程》 |《你不知道的JS》姊妹篇

    原文地址:Functional-Light-JS 原文作者:Kyle Simpson-<You-Dont-Know-JS>作者 关于译者:这是一个流淌着沪江血液的纯粹工程:认真,是 HTM ...

  2. strcmp函数

    strcmp函数用于c语言中两个字符串比较(只可以比较字符串,不可以比较数字) 规则 当s1>s2时,返回为正数: 当s1=s2时,返回值为0: 当s1<s2时,返回为负数: 两个字符串自 ...

  3. 拆分字符and读取properties文件

    在方法里面建立properties对象 Properties pps = new Properties(); 调用.load()方法 pps.load(new FileInputStream(&quo ...

  4. CDH升级

    升级主要分为两部分1.CM的升级.2.CDH的升级 CM的升级 两种升级方法 1.使用package 2.使用Tarballs升级方法,参照官方升级指引,Tarball中包含了Cloudera Man ...

  5. HDU1248--完全背包

    寒冰王座 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submi ...

  6. jQuery选取所有复选框被选中的值并用Ajax异步提交数据

    昨天和朋友做一个后台管理系统项目的时候涉及到复选框批量操作,如果用submit表单提交挺方便的,但是要实现用jQuery结合Ajax异步提交数据就有点麻烦了,因为我之前做过的项目中基本上没用Ajax来 ...

  7. C++反汇编第五讲,认识多重继承,菱形继承的内存结构,以及反汇编中的表现形式.

    C++反汇编第五讲,认识多重继承,菱形继承的内存结构,以及反汇编中的表现形式. 目录: 1.多重继承在内存中的表现形式 多重继承在汇编中的表现形式 2.菱形继承 普通的菱形继承 虚继承 汇编中的表现形 ...

  8. 【POJ2823】Sliding Window

    http://poj.org/problem?id=2823 题意:你有一个长度n的序列,分别询问[1,k],[2,k+1],[3,k+2],...,[n-k+1,n]这n-k+1个区间的最大值和最小 ...

  9. Java实现字符串转换十六进制MD5值

    public class Encode {    public final static String md5(String s) {        char hexDigits[] = { '0', ...

  10. Solr7使用Oracle数据源导入+中文分词

    安装目录假设为#solr_home,本文的#solr_home为apps/svr/solr 1. 在#solr_home/server/solr下新建文件夹,假设为mjd 2. 将#solr_home ...