批量添加用户
1、按照/etc/passwd文件格式编写用户信息文件users.info
xiaofang01::1001:503::/home/xiaofang01:/bin/bash #注意不能有空行,不然会报错
2、newusers < users.info #newusers命令 导入用户信息文件
3、pwunconv #取消shadow password功能
4、以[用户名:密码]的格式编写密码文件passwd.info
5、chpasswd < passwd.info #导入密码文件
6、pwconv #将密码写入shadow文件
【用脚本编程的方式其实更加高效】
限制普通用户su为root
1、groupadd sugroup
2、chmod 4550 /bin/su //将其他人的权限全部清除
3、chgrp sugroup /bin/su //将su的所属组改变为sugroup
此时:ls -l /bin/su
4、usermod -G sugroup test //将用户test加入到sugroup组
用sudo代替su:
-在执行sudo命令时,临时成为root
-不会泄漏root口令
-仅向用户提供有限的命令使用权限
配置文件:/etc/sudoers[编辑配置该文件命令的visudo],用vi直接修改配置文件/etc/sudoers不会生效
/etc/sudoers文件格式
用户名[%组名] 主机名[或ip地址]=命令[要用绝对路径]
案例-授权普通用户可以添加/删除用户[useradd/userdel]
1、visudo
2、xiaofang hadoop=/usr/sbin/useradd,/usr/sbin/userdel
[切换到该用户]
3、sudo /usr/sbin/useradd test #执行useradd命令[加sudo,加绝对路径]
4、输入密码 #xiaofang的密码,而不是root的密码
5、sudo -l #查看当前用户所被授权的只有root才可执行的命令
说明:
1、sudo可以使普通用户以root身份执行命令,而不是只是执行root才能执行的命令
2、编辑/etc/sudoers时,可以使命令精确化
如:guest hadoop=/sbin/shutdown -h now
只让guest执行-h now选项,其他任何选项都不能执行
案例-授权一个普通用户全权管理Apache
1、构思好该用户应有的权限:
(1)编辑Apache的配置文件
(2)使用Apache的启动脚本
(3)更新网页等
2、实现功能1
法一、改变该文件的所有者chown
法二、改变该文件的所属组,并将w权限授予该组,然后该用户加入该组[比较常用]
法三、visudo法
添加:用户 地址=/bin/vi /etc/httpd/conf/httpd.conf
3、实现功能2
用户 主机名 =/etc/rc.d/init.d/http start,/etc/rc.d/init.d/http reload,/etc/rc.d/init.d/http fullstatus,/etc/rc.d/init.d/http configtest
4、功能实现3
即需要对/var/www/html目录有写权限 #改变该目录的所有者/所属组
检测用户密码强度(破解用户密码)
1、安装破解工具:John the ripper
下载地址 http://www.openwall.com/john/
2、grep liming /etc/passwd > /test/liming.passwd #提取用户信息
3、grep liming /etc/shadow > /test/liming.shadow #提取用户密码的加密密文
4、/test/john-1.6.6/run/unshadow /test/liming.* > /test/liming.john #合并成一个文件
5、/test/john-1.6.6/run/john /test/liming.john #破解该用户密码
6、/test/john-1.6.6/run/john /etc/shadow #破解所有用户的密码