与用户关联的四个文件
/etc/passwd
/etc/shadow
/etc/group
/etc/gshadow
模拟下看看:
已经在用户的家目录里面了。
再试一下,命令别名
原来这个用户grep 没有定义命令别名
现在我们修改.bash_profile文件,看看过会,新建用户时,会不会复制过去
把原来的先删了,提示有进程正在使用,kill掉
新建,然后再用grep,有颜色显示了
总结skel的作用:
1、可以把通知的内容放到skel,让登录的人去看
2、统一初始化新用户的环境变量
3、面试题:出现-bash-4.1$ 问题的原因及解决方法
-bash-4.1$ 家目录环境变量没有了
了解下
[root@host ~ 22:04:59]#cat /etc/login.defs
UMASK 077
目录权限777 - 077 700权限
把默认的shell改成了tcsh
再增加新用户,默认的就成了tcsh了
也可以这样改:
实例:
自定义用户的家目录,shell类型,所属的用户组等
添加用户test90,并设置其用户注释作息为hell linux,UID指定为888,归属为用户组root,test80,test70成员,其shell为/bin/sh,设置家目录为/test90
groupadd
与之相关的文件
/etc/group 用户组相关文件
/etc/gshadow 用户组加密相关文件
-g xx 指定GID
非交互式修改密码
实例1:
批量创建6个用户stu01-stu06,并且设置随机8位密码,要求不能用shell循环
只能用命令及管道实现
http://oldboy.blog.51cto.com/2561410/1608552
echo stu{11..12}|xargs -n1 这样写也不错。
666
实例2:
要求curry用户7天内不能更改密码,60天以后必须修改密码,过期前10天通知curry用户,
过期后30天禁止用户登陆。
这种写法也可以
cat /etc/shadow
主要是读shadow文件
一些查看命令
w show who is logged on and what they aredoing
who show who is logged on
last 显示用户登录的历史
/var/log/wtmp
lastlog 显示用户最近的登录情况
/var/log/lastlog
groups 查看在哪个组里
id
users
当不加任何参数执行su命令时,表示要切换到root用户,但这样执行,会遇到一些问题,因为虽然
是切换到了root用户,但并没有改变为root用户登录环境,用户默认的登录环境,可以在/etc/passwd中查得到,包括家目录,shell类型等,比较规范的操作方法是su - root
如果直接su的话,虽然是root,但查看信息显示环境变量信息还是curry,下图:
这样就OK了
http://oldboy.blog.51cto.com/2561410/1053606/
由su和su -的区别谈学习linux运维方法
#visudo = vim /etc/sudoers 相当于
不过第一个有语法检查功能,一般都用第一个。
要写命令全路径
执行时,前面要加sudo