linux 服务器用户群组操作。
新建用户
下面所有的命令都是在 root 用户下执行。
第一步:创建用户
1
2
3
4
5
6
7
8
9
10
11
12
| # 添加用户
# 通过 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 用户修改这个文件的权限,然后第二条命令打开它并进行修改
1
2
3
4
5
6
7
8
9
| # 给 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
|
删除用户
仅删除用户
删除用户及其用目录
修改用户
修改用户目录
1
2
3
4
5
6
7
| # 设置新用户目录地址
usermod -d /disk/lsy -m lsy
# -d 是指定用户目录
# -m 是如果没有 lsy 用户目录就创建一个
# 移动用户目录
mv /home/lsy /disk/lsy
|
修改用户id及组id
1
2
| usermod -u uid user
usermod -g gid user
|
添加用户群组
1
2
| usermod -aG docker lsy
# -a 表示在原来所属组的基础上追加
|
切换用户
查看用户
查看 /etc/passwd 文件
/etc/passwd 文件是一个纯文本文件,每行采用了相同的格式:
1
| name:password:uid:gid:comment:home:shell
|
- name:用户登录名
- password:用户口令。此域中的口令是加密的。当用户登录系统时,系统对输入的口令采取相同的算法,与此域中的内容进行比较。如果此域为空,表明该用户登录时不需要口令。
- uid:指定用户的 UID。用户登录进系统后,系统通过该值,而不是用户名来识别用户。
- gid:指定用户的 GID。如果系统要对相同的一群人赋予相同的权利,则使用该值。
- comment:用来保存用户的真实姓名和个人细节。
- home:指定用户的主目录的绝对路径。
- shell:如果用户登录成功,则要执行的命令的绝对路径放在这一区域中。它可以是任何命令。
查看具体用户
查看群组
查看 /etc/group 文件
/etc/group 文件是一个纯文本文件,每行采用了相同的格式:
修改文件所属用户及群组
1
2
3
4
| chown user file
chown -R user dir
chgrp group file
chgrp -R group dir
|
参考资料及致谢
Linux新建用户,并赋予Root权限 ll: command not found
linux cat /etc/passwd 说明
每天一个linux命令(31): /etc/group文件详解
Linux中useradd和adduser的区别
Linux下useradd与adduser的区别
usermod -a表示在原来所属组的基础上追加