Linux:用户组配置文件详解

一、 密码在/etc/passwd和/etc/shadow中转换

#pwunconv 密码在/etc/passwd中
#pwconv 密码在/etc/shadow文件中

二、etc/passwd格式:

root:	x:    	0:	0:			root:	/root:	/bin/bash
用户名:  密码:	UID:GID(主组):描述:	家目录:	shell类型(/sbin/nologin的shell,将无法进入)

三、/etc/shadow格式:

用户名:$6密码:1970年到改密码时间:至少使用时间:口令过期时间(以天为单位):密码到期多少天之内提醒:宽限期(超期账户锁定):账户有效期:

若$6前面加叹号,锁定本地登录,可切换进入

etc/shadow采用sha512加密算法用salt加密,即使密码相当也显示不同
md5算法(开头$1代表md5算法) 128位 王小云已经破解
sha1算法   (开头$6就是代表采用sha512加密算法) 160位加密算法
sha224算法   244位加密算法
sha256 sha384 sha512 sharesec

四、/etc/default/useradd 创建用户默认配置文件

#vim /etc/default/useradd
	# useradd defaults file
	GROUP=100     默认user组号
	HOME=/home    默认家目录
	INACTIVE=-1   账户到期了,多长时间锁定(shadow中倒数第二项)
	EXPIRE=       有效期(shadow中最后一项)
	SHELL=/bin/bash 默认shell
	SKEL=/etc/skel 影响新建用户默认文件夹
	CREATE_MAIL_SPOOL=yes 默认邮箱地址/var/spool/mail (#mail -s test dushan)
	
#useradd -D 可以修改/etc/default/useradd文件
#useradd -D -s /bin/csh 修改/etc/defalut/useradd文件中shell类型为csh

五、/etc/login.defs 用户默认配置文件

#authconfig --passalgo=sha256 --update 此命令修改为256位算法,执行后/etc/login/defs最后一行会变更
#cat /etc/login/defs
	ENCRYPT_METHOD SHA256
#vim /etc/login/defs
	PASS_MAX_DAYS   42 密码最长有效期为42

六、/etc/group,/etc/gshadow组相关文件

/etc/group 
组名称:组口令:组ID:组成员
(如修改此文件组成员,需同时修改/etc/gshadow文件,所以用命令操作)

/etc/gshadow
组名称:组口令:组管理员:组成员

九、umask生效需写入配置文件

# vim /root/.bashrc
	umask 024
#umask -s 可查看设置权限
#umask -p 显示umask
#umask -p >> /home/dushan/.bashrc  可直接给其他用户设置umask

练习

1、当用户docker对/testdir 目录无执行权限时,意味着无法做哪些操作?

不能进入目录,不能访问文件夹,能看到文件名

2、当用户mongodb对/testdir 目录无读权限时,意味着无法做哪些操作?

不知道文件列表,知道文件名的话可以读文件

3、当用户redis 对/testdir 目录无写权限时,该目录下的只读文件file1是否可修改和删除?

不能读不能删除

4、当用户zabbix对/testdir 目录有写和执行权限时,该目录下的只读文件file1是否可修改和删除?``

对目录有写,可以删,不可以修改

5、复制/etc/fstab文件到/var/tmp下,设置文件所有者为tomcat读写权限,所属组为apps组有读写权限,其他人无权限

#cp /etc/fstab /var/tmp
#useradd tomcat
#groupadd apps
#chown tomcat.apps /var/tmp/fstab
#chmod 660 /var/tmp/fstab

6、误删除了用户git的家目录,请重建并恢复该用户家目录及相应的权限属性

#cp -r /etc/skel/.  /home/git
#chmod 700 git
#chown -R git.git git/ 

7、如何还原家目录

家被删了,先创建,后拷贝/etc/skel/.
#rm -r /home/dushan
#mkdir /home/dushan
#cp -r /etc/skel/.[^.]* /etc/skel/* /home/dushan(不要拷贝/etc/skel/.*因为.*包括..会把/etc目录内容也拷贝过去,就不对了,复制隐藏和非隐藏文件)
简化:
#cp -r /etc/skel/. /home/dushan (.代表当前目录,拷贝当前目录复制到/home/dushan)  
#chown dushan /home/dushan
#chgrp dushan /home/dushan

8、随机生成base64,12位长度的口令

#openssl rand -base 64 12

你可能感兴趣的:(Linux)