User and User Groups in linux本文梳理了一下Linux用户和用户组的常用的一些命令。
有关的配置文件:/etc/group 存储当前系统中所有用户组信息/etc/gshadow 存储当前系统中所有用户组的密码/etc/passwd 存储当前系统中所有用户的信息/etc/shadow 存储当前系统中所有用户的密码信息配置文件的内容格式说明:
说明:在使用cat /etc/group查看的时候,你会发现有的组最后是不显示用户列表的。那么如何查看用户组的用户名单列表,下面有code。
用户组的添加,修改,删除groupadd group_name//添加用户组groupmod -n new_name old_name//修改用户组的名字groupmod -g 668 group_name//修改组编号groupdel group_name//先删除用户再删除用户组用户的添加,修改,删除useradd -g group_name user_name//用户组中添加用户或(gpasswd -a username groupname)(创建用户的时候,没有指定用户组,则系统会创建与用户名相同的用户组)useradd -d /home/xxx user_name//个人文件夹usermod -c info user_name//添加用户备注信息usermod -l new_user old_name//新用户 占用 旧用户(离职)usermod -d /home/xxx user_name//修改用户的文件路径usermod -g group_name user_name//移动用户userdel user_name//删除用户(不会删除个人文件夹)userdel -r user_name//用户和文件一同删除passwd 命令passwd -l user_name//锁定用户(违规用户)或者 在/etc/shadow文件中属于该用户的行的第二个字段(密码)前面加上*就可以了。想恢复该用户,去掉*即可。passwd -u user_name//解锁用户passwd -d user_name//清除用户的密码passwd user_name//修改或设置用户密码主组&附属组一个用户可以同时属于多个用户组(其中必有一个主组和多个附属组)
gpasswd -a user_name affiliated_group//用户添加附属组newgrp affiliated_group //临时切换到附属组(有密码的需要输入密码)gpasswd -d user_name affiliated_group//从附属组中删除用户useradd -g main_group -G group1,group2,group3 //gpasswd group_name//修改组密码gpasswd -d A GROUP 或者 从组中删除用户,编辑/etc/group 找到GROUP1那一行,删除 A查看命令Whoami//我是谁?显示当前登录用户id username//显示指定用户信息,包括编号、用户名、主要组编号及名称,附属组列表groups user_name//查看用户所属组别id -gn//查看当前登录用户,所属组别,或者直接groupsid -a mark//显示详细的信息,如:uid=500(mark) gid=500(teacher) 组=500(teacher)查看某个组的所有组员 grep 'groupName' /etc/group //查看组的ID awk -F":" '{PRint $1"tt"$4}' /etc/passwd | grep 'groupId' //将groupId替换为ID设置用户文件的访问权限chmod 命令,功能:chmod命令是非常重要的,用于改变文件或目录的访问权限.用户用它控制文件或目录的访问权限.chgrp命令,功能:改变文件或目录所属的组。chgrp -R groupName fileNamechown 命令,功能:更改某个文件或目录的属主和属组。这个命令也很常用。例如root用户把自己的一个文件拷贝给用户xu,为了让用户xu能够存取这个文件,root用户应该把这个文件的属主设为xu,否则,用户xu无法存取这个文件。其他命令chfn username//设置用户资料,依次输入用户资料finger username//显示用户详细资料touch /etc/nologin//暂时禁止所有普通用户的登录,建一个空的文件就可以了。su username//切换用户,不加参数(username)代表切换到root用户已经登录,无法删除用户,pkill -u username(粗暴的方法)然后删除(不建议使用)有关用户和用户组的概念文章链接