linux 服务器用户群组操作
Published:
linux 服务器用户群组操作。
新建用户
下面所有的命令都是在 root 用户下执行。
第一步:创建用户
# 添加用户
# 通过 useradd 添加(若不指定参数则无用户目录与 shell)
sudo useradd -d /home/lsy -m -s /bin/bash -G root lsy
# -d 是指定用户目录
# -m 是如果没有 lsy 用户目录就创建一个
# -G 是指定用户群组,这里我将你加到 root 群组里面
# -s 是指定用什么 shell
# lsy 是用户名
# 修改用户密码
sudo passwd lsy
第二步:赋予用户 sudo 权限,在上面把用户加到 root 群组里之后还没有 sudo 权限的,需要修改 /etc/sudoers 文件,将自己的用户名字加进去。
但是这个文件是有限制的,哪怕是 root 用户直接打开的话也是 read only,不能修改,下面第一个命令赋予 root 用户修改这个文件的权限,然后第二条命令打开它并进行修改
# 给 root 添加 sudoers 文件的写权限
$ sudo chmod u+w /etc/sudoers
# 修改 sudoers文件
$ sudo vim /etc/sudoers
# 修改如下(添加了最后一行):
# User privilege specification
root ALL=(ALL:ALL) ALL
lsy ALL=(ALL) ALL
删除用户
仅删除用户
userdel lsy
删除用户及其用目录
userdel -r lsy
修改用户
修改用户目录
# 设置新用户目录地址
usermod -d /disk/lsy -m lsy
# -d 是指定用户目录
# -m 是如果没有 lsy 用户目录就创建一个
# 移动用户目录
mv /home/lsy /disk/lsy
修改用户id及组id
usermod -u uid user
usermod -g gid user
添加用户群组
usermod -aG docker lsy
# -a 表示在原来所属组的基础上追加
切换用户
su lsy
查看用户
查看 /etc/passwd 文件
cat /etc/passwd
/etc/passwd 文件是一个纯文本文件,每行采用了相同的格式:
name:password:uid:gid:comment:home:shell
- name:用户登录名
- password:用户口令。此域中的口令是加密的。当用户登录系统时,系统对输入的口令采取相同的算法,与此域中的内容进行比较。如果此域为空,表明该用户登录时不需要口令。
- uid:指定用户的 UID。用户登录进系统后,系统通过该值,而不是用户名来识别用户。
- gid:指定用户的 GID。如果系统要对相同的一群人赋予相同的权利,则使用该值。
- comment:用来保存用户的真实姓名和个人细节。
- home:指定用户的主目录的绝对路径。
- shell:如果用户登录成功,则要执行的命令的绝对路径放在这一区域中。它可以是任何命令。
查看具体用户
id lsy
查看群组
查看 /etc/group 文件
cat /etc/group
/etc/group 文件是一个纯文本文件,每行采用了相同的格式:
组名:口令:组标识号:组内用户列表
组名: 组名是用户组的名称,由字母或数字构成。与/etc/passwd中的登录名一样,组名不应重复。
口令:口令字段存放的是用户组加密后的口令字。
- 组标识号:组标识号与用户标识号类似,也是一个整数,被系统内部用来标识组。别称GID.
- 组内用户列表:是属于这个组的所有用户的列表,不同用户之间用逗号
,
分隔。这个用户组可能是用户的主组,也可能是附加组。
修改文件所属用户及群组
chown user file
chown -R user dir
chgrp group file
chgrp -R group dir
参考资料及致谢
Linux新建用户,并赋予Root权限 ll: command not found