/etc/passwd保存着linux用户账号信息,内容包括账号,密码,用户ID,用户组ID,用户主目录,shell登录,举个例子:john:x:1005:1005::/home/john:/bin/bash,各个参数说明如下:
john : 用户名, x : 密码,对应/etc/shadow 1005 : UID, 用户ID, 0表示系统管理员,例如root, 1-999系统账号, 1000 – 60000 可登录账号 1005 : GID, 用户组ID,对应/etc/group /home/john : 使用者主文件夹 /bin/bash : shell环境,如果是/sbin/nologin表示账号无法取得shell环境登录动作 用户相关命令 grep john/etc/passwd /etc/shadow /etc/group : 查看john用户对应信息内容 ll -d /home/john : 查看john主文件夹信息 id <username> : 查看用户相关uid,gid信息 目录管理 更改目录所有者 chown -R <user> <directory> # ch表示修改,own是所有者,目录放最后
更改用户组 chgrp -R <group> <directory> # ch修改,grp是用户组,目录放最后
用户组管理 增加用户组 groupadd <group>
删除用户组 groupdel <group>
修改用户组名称 groupmod -n <newname> <group>
用户管理 新增用户 useradd -g <group> <user> # -g表示初始化群组,新用户需要设置密码(passwd <user>)才能登录
删除用户 userdel -r <user>
新增用户,并且指定多个附加群组 useradd -G <group1>,<group2>,<group3> <user>
用户加入新群组 usermod -a -G <group> <user> # -a表示追加 # -G表示附加群组
查看当前用户群组 groups # 列出当前用户所在的用户组,第一个群组为用户的有效群组
切换当前用户的有效群组 newsgrp <group> # 有效群组是用户创建文件或文件夹时显示那个用户组,切换群组时,只能在用户已有的群组中切换
修改用户的有效群组 usermod -g <group> <user> # 其他附加组会被清空掉
从群组中删除某个用户 gpasswd -d <user> <group>