用户和组
用户
查看当前用户是谁
whoami
用户新建
adduser alvin
passwd alvin
用户删除
userdel -r username
-r 表示同时删除目录,不添加则表示仅仅删除用户
修改用户名
sudo usermod -l oldName newName
组
组操作
增加:groupadd groupname
删除:groupdel groupName
修改名称:groupmod -n oldName newName
组管理用户
查看用户属于哪个组
添加用户到组
删除用户到组
查看组内有什么用户
/etc/passwd group
用户信息
/etc/passwd
test2:x:1002:1004:,,,:/home/test2:/bin/bash
用户名:密码:用户Id:组ID:账户描述信息:home目录:登录shell
组信息:
/etc/group
alvin:x:1000:
docker:x:1001:alvin
组名:密码:组Id:组内用户
添加sudo权限和免sudo密码
- centos
visudo
alvin 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、先创建一个用户组、共享文件夹,只操作一次
# 切换root
su -l
# 创建组
groupadd dev
# 修改所有组
# 写权限
# 授权sgid属性,后续创建的文件都属于这个组
# o+t 只能删除自己的文件(这个酌情使用)
shareDir=/data
mkdir ${shareDir}
chgrp dev ${shareDir}
chmod g+w ${shareDir}
chmod g+s ${shareDir}
chmod o+t ${shareDir}
2、创建普通用户并加入组
userName=test1
adduser ${userName}
gpasswd -a ${userName} dev
测试是否成功
su test1
cd /data
touch test.txt
3、删除用户,但是保留home目录。
userdel test1
4、可以直接删除组
groupdel dev