一、批量添加用户
1、按照/etc/passwd文件格式编写用户信息文件users.info
如:xiao01::2001:888::/home/xiao01:/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
得到:-r-sr-x--- 1 root sugroup 18360 Jan 15 2010 /bin/su
4、usermod -G sugroup test //将用户test加入到sugroup组
三、用sudo代替su:
-在执行sudo命令时,临时成为root
-不会泄漏root口令
-仅向用户提供有限的命令使用权限
重要内容:
配置文件:/etc/sudoers,编辑配置文件命令visudo, 普通用户使用命令sudo。
【用vi直接修改配置文件/etc/sudoers不会生效】
/etc/sudoers文件格式【用visudo打开】
用户名/%组名 主机地址=命令【要用绝对路径】
【案例:授权普通用户可以添加/删除用户useradd/userdel】
1、visudo
2、xiaofang 192.168.139.1=/usr/sbin/useradd,/usr/sbin/userdel
【或者将上面ip改成xiaofang】
3、sudo /usr/sbin/useradd test // 执行useradd命令【加sudo,加绝对路径】
4、输入密码
【是xiaofang的密码,而不是root的密码,这样我们就保护了root密码不被泄露】
【sudo -l 可用于查看当前用户所被授权的只有root才可执行的命令】
附加说明:
1、sudo可以使普通用户以root身份执行命令,而不是只是执行root才能执行的命令
2、编辑/etc/sudoers时,可以使命令精确化
如:xiaofang xiaofang=/sbin/shutdown 0 -h
只让xiaofang用户执行0 -h选项,其他任何选项都不能执行
【案例:授权一个普通用户全权管理Apache Server】
1、构思好该用户应有的权限:
(1)编辑Apache的配置文件
(2)使用Apache的启动脚本
(3)更新网页等
2、实现功能1
法一、改变该文件的所有者为该用户,chown
法二、改变该文件的所属组,并将w权限授予该组,然后该用户加入该组【比较常用】
法三、visudo法
添加:用户 地址=/bin/vi /etc/httpd/conf/httpd.conf
3、实现功能2
【用visudo】用户 主机名=/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
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.passwd /test/liming.shadow > /test/liming.john //合并成一个文件
5、/test/john-1.6.6/run/john /test/liming.john //破解该用户密码
6、/test/john-1.6.6/run/john /etc/shadow //*破解所有用户的密码