linux用户与组管理
linux用户与组管理
linux用户与组管理
涉及到的文件:/etc/passwd /etc/group /etc/shadow /etc/gshadow
/etc/passwd 存放用户账户的地方,每一行代表一个账户,在一行里面使用“:”作为分隔符。其中各个字段的意思如下:
root:x:0:0:root:/root:/bin/bash
用户名:密码(现在密码都单独保存在shadow文件里面,该字段无用):用户ID:组ID:说明信息:家目录:shell路径
/etc/shadow 存放于账号密码相关的信息
root:xxoo@!%:14127:0:99999:7:::
用户名:密码(加密过后):最后修改日期:不能被修改的天数:需要重新修改的天数:需要修改前的警告天数:密码过期后的账号宽限时间:账号失效日期:保留(暂无意义)
/etc/group 分组信息
root:x:0:root
组名称:组密码:组ID:该组的用户(多个用户之间用英文逗号分隔,注:无空格)
/etc/gshadow
root:::root
组名称:密码:用户组管理员账号:该用户组的成员账号(多个账号用英文逗号隔开)
常用的命令:
查看当前登录的用户信息:id
查看某个用户的信息:id user_name
查看当前用户所属的组:groups
查看某个组里面的所有用户:cat /etc/gshadow | grep group_name 或者 cat /etc/group | grep group_name (结果将列出该组对应的那一行,在以“:”作为分隔符的第四列,即是改组的所有账号,多个账号之间用英文逗号分隔)
查看某用户所在的所有组:cat /etc/gshadow | grep user_name 或者 cat /etc/group | grep user_name(结果将列出包含该用户名的所有行,一行表示一个组)
添加用户:useradd user_name 或者指定到某个组里面 useradd -g group_name user_name
添加|修改用户密码:passwd [user_name](该命令执行后会提示您输出密码,然后再确认一下密码,如果是修改密码,则将会提示您输入旧密码。如果后边没有跟账号,则是修改当前用户的密码)
删除用户:userdel [-r] user_name(如果带参数-r,则连同该用户的家目录一块删除)
添加组:groupadd group_name
删除组:groupdel group_name
修改用户所属的组:usermod -g target_group_name user_name
将某个用户添加到其他用户组,而不修改原来的用户组:usermod -a target_group_name user_name
或者 gpasswd -a user_name group_name
将某用户从某个组里面删除:gpasswd -d user_name group_name
修改文件或目录所属的组:chgrp group_name file_name
修改文件或目录所属的用户:chown user_name file_name
修改文件或目录所属的用户和组:chown user_name:group_name file_name
用户组切换:newgrp group_name
评论暂时关闭