用户和组
用户
查看当前用户是谁
whoami
用户新建
adduser alvinpasswd alvin
用户删除
userdel -r username-r 表示同时删除目录,不添加则表示仅仅删除用户
修改用户名
sudo usermod -l oldName newName
组
组操作
增加:groupadd groupname删除:groupdel groupName修改名称:groupmod -n oldName newName
组管理用户
查看用户属于哪个组

添加用户到组

删除用户到组

查看组内有什么用户

/etc/passwd group
用户信息/etc/passwdtest2:x:1002:1004:,,,:/home/test2:/bin/bash用户名:密码:用户Id:组ID:账户描述信息:home目录:登录shell组信息:/etc/groupalvin:x:1000:docker:x:1001:alvin组名:密码:组Id:组内用户
添加sudo权限和免sudo密码
- centos
visudoalvin ALL=(ALL) ALL ## 加入sudo组alvin ALL=(ALL) NOPASSWD: ALL ## 不用输入密码
- ubuntu

修改文件归属
使用chown命令可以修改文件或目录所属的用户:命令:chown 用户 目录或文件名例如:chown qq /home/qq (把home目录下的qq目录的拥有者改为qq用户)使用chgrp命令可以修改文件或目录所属的组:命令:chgrp 组 目录或文件名例如:chgrp qq /home/qq (把home目录下的qq目录的所属组改为qq组)
示例:

实用
创建开发人员账户
1、先创建一个用户组、共享文件夹,只操作一次
# 切换rootsu -l# 创建组groupadd dev# 修改所有组# 写权限# 授权sgid属性,后续创建的文件都属于这个组# o+t 只能删除自己的文件(这个酌情使用)shareDir=/datamkdir ${shareDir}chgrp dev ${shareDir}chmod g+w ${shareDir}chmod g+s ${shareDir}chmod o+t ${shareDir}
2、创建普通用户并加入组
userName=test1adduser ${userName}gpasswd -a ${userName} dev
测试是否成功
su test1cd /datatouch test.txt
3、删除用户,但是保留home目录。
userdel test1
4、可以直接删除组
groupdel dev
