Linux系统中基本的用户管理方法
1、用户管理的配置文件用户信息文件:/etc/passwd密码文件:/etc/shadow用户组文件:/etc/group用户组密码文件:/etc/gshadow用户配置文件:/etc/login.defs/etc/default/useradd新用户信息文件:/etc/ske1登陆信息:/etc/motd /etc/issue/etc/passwd文件格式

2、用户类型Linux用户分为三种:超级用户(root UID=0)普通用户(UID 500-60000)伪用户(UID 1-499)注意:root不一定是超级用户,但是UID=0的用户一定是超级用户。伪用户 伪用户与系统和程序服务相关 bin daemon shutdown halt等,任何linux系统默认都有这些伪用户 mail news games apache ftp mysql及sshd等,与linux系统的进程相关 伪用户通常不需要或无法登陆系统 可以没有宿主目录用户组 每个用户都至少属于一个用户组 每个用户组可以包括多个用户 同一个用户组的用户享有该组共有的权限

3、/etc/group文件格式

4、手工添加用户 分别在/etc/passwd 、/etc/group 和/etc/shadow文件中添加一笔记录 创建用户宿主目录 在用户宿主目录中设置默认的配置文件 设置用户初始密码SetUID思考:为什么普通用户可以更改密码?SetUID的定义:当一个可执行程序具有SetUID权限,用户执行这个程序时,将以这个程序所有者的身份执行。范例:1.将touch命令授予SetUID权限2.当vi命令呗授予SetUID权限3.查找SetUID程序:Find / -perm -4000 –o –perm -2000添加用户useradd设置选项 用户名 -D 查看缺省参数u:UIDg:缺省所属用户组GIDG:指定用户所属多个组d:宿主目录s:命令解释器shellc:描述信息e:指定用户失效时间#useradd ksharpdabu //添加ksharpdabu这个账号</p> <p>#passwd ksharpdabu /修改ksharpdabu的密码或者熟悉系统文件的,可以直接手动添加用户用户组管理命令添加用户组groupaddgroupadd -g 888 webadmin创建用户组webadmin ,其GID为 888删除用户组:groupdel 组名#groupdel webuser //删除webuser这个组修改用户组星系 :groupmod#groupmod -n apache webadmin修改webadmin组名为apache用户组管理命令Gpasswd设置组密码及管理组内成员-a添加用户到用户组-d 从用户组中删除用户-A设置用户组管理员-r删除用户组密码-R禁止用户切换为该组修改用户信息usermod#usermod -G softgroup ksharpdabu将用户ksharpdabu添加到softgroup用户组中#usermod -l ksharpdabu -d /home/samlee –g webadmin Tom将用户Tom的登陆用户名改为ksharpdabu,加入wenadmin组中,用户目录改为/home/ ksharpdabu用户管理命令pwk 检测/etc/passwd文件(锁定文件)vipw 编辑/etc/passwd文件id 查看用户id和组信息finger 查看用户详细信息su 切换用户(su –环境变量切换)passwd –S 查看用户密码状态who、w 查看当前登录用户信息用户组管理命令groups 查看用户隶属于哪些用户组newgrp 切换用户组grpck 用户组配置文件检测chgrp 修改文件所属组vigr 编辑/etc/group文件(锁定文件用户组授权实例授权用户jack和mary对目录/software有写权限# groupadd softadm</p> <p># usermod -G softadm jack</p> <p># gpasswd -a mary softadm</p> <p># chgrp softadm /software</p> <p># chmod g+w /software# ls -ld /software</p> <p>drwxrwxr-x 2 root softadm 512 Jul 14 06:17 /software</p> <p># grep softadm /etc/group</p> <p>softadm::100:jack,mary禁用和恢复用户禁用# usermod -L username</p> <p># passwd -l username恢复# usermod -U username</p> <p># passwd -u username删除用户userdel –r 用户名-r:删除用户目录手工删除:使用find命令查找属于某个用户或者用户组的文件Find选项-user、-uid、-group、-gid 对需要保留的文件进行移动和备份 对不需要的文件进行删除 清除用户文件中的相关表项 清除用户宿主目录用户管理命令change设定密码-l 查看用户密码设置-m 密码修改最小天数-M 密码修改最大天数-d 密码最后修改的日期-l 密码过期后,锁定账户的天数-E 设置密码的过期日期,如果为0,代表密码立即过期;如果为-1,代表密码永不过期-W 设置密码过期前,开始警告的天数启动或停用shadow功能pwconv/pwunconvgrpconv/grpunconvsystem-config-usersauthconfig /etc/sysconfig/authconfig批量添加用户newusers命令 导入用户信息文件pwunconv命令 取消shadow password功能chpasswd命令 导入密码文件(密码文件格式: 用户名:密码)pwconv命令 将密码写入shadow文件实例:一次批量添加10个用户限制用户su为root:# groupadd sugroup</p> <p># chmod 4550 /bin/su</p> <p># chgrp sugroup /bin/su</p> <p># ls -l /bin/su</p> <p>-r-sr-x— 1 root sugroup 18360 Jan 15 2010 /bin/su设定后,只有sugroup组中的用户可以使用su切换为root# useradd helen</p> <p># passwd helen</p> <p># usermod -G sugroup helen //为helen增加su的权限用sudo替代su:在执行sudo命令时,临时成为root不会泄露root口令仅向用户提供有限的命令使用权限配置文件:/etc/sudoers,编辑配置文件命令visudo普通用户使用命令sudo。格式:用户名(组名) 主机地址=命令(绝对路径)系统弱密码测试工具John the ripper的使用方法;# tar -xzvf john-1.7.6.tar.gz</p> <p># cd john-1.7.6/run</p> <p># make破解用户ksharpdabu密码# grep ksharpdabu /etc/passwd > /test/ksharpdabu.passwd</p> <p># grep ksharpdabu /etc/shadow > /test/ksharpdabu.shadow</p> <p># /test/john-1.6.6/run/unshadow /test/ksharpdabu.passwd</p> <p>/test/ksharpdabu.shadow > /test/ksharpdabu.john</p> <p># /test/john-1.6.6/run/john /test/ksharpdabu.john