【Linux】用户组、用户操作
/:根目录
root:超级管理员(root)的家
home:其他用户(普通用户)的家
etc:配置文件
usr:存放共享文件的(软件的安装路径)
lib:依赖库
Linux用户组和用户的概念
基本概念
用户分为 超级管理员 和 普通用户
用户组 是用户的管理单元,一个用户至少属于一个用户组
依赖关系
超管 操作用户
超管可以创建、修改、删除 、修改密码
超管 操作用户组
超管可以增删改用户组、可以移动用户至不同用户组
用户组类似于标签,同一个用户可能有多个标签,也就是 一个用户可以属于多个用户组
用户操作
不能 增删改用户、用户组
超管 管理用户组
新增用户组
groupadd 组名
查看用户组
某个用户所属的组名 : groups 用户名
修改组名
groupmod -n 新组名 原组名
删除用户组
groupdel 组名
ps: 用户组下有用户,需要先删除完用户才能删除用户组
超管 管理用户
创建用户
useradd -m [-g 组名] 新用户名
参数解释:
- -m 自动在/home目录了,建立用户家目录,家目录名字就是新用户名
- -g 组名 指定新用户所在的组,如果不带"-g 组名"参数的话,会建立和新用户名同名的组
设置用户密码(修改)
passwd 新用户名
修改用户名
usermod -l 新名 旧名
删除用户
userdel -r 用户名
参数解释:
- -r recursion的缩写,递归。 将用户名的目录文件递归删除
1.1 如果使用 -r 参数,再增加同名的用户名会报Creating mailbox file: File exists的错误
超管 管理用户和用户组
新增用户到用户组
useradd -m -g 组 新用户名
将用户移动到用户组
usermod -g 组 用户名
将用户复制到用户组
usermod -G 组 用户名
从组中删除用户
gpasswd -d 用户名 组
PS:能删除的用户只能是从其他组复制过来的用户,如果要删除组中的唯一用户,使用:userdel -r 用户名
超管 查看并修改 /etc/sudoers 文件的读写权限
- ll -h 查看sudoers的权限
[root@james etc]# ll -h
-r-r-----. 1 root root 4.0K Mar 2 2012 sudoers
长度为10的表达式,第一位是文件类型标识位,后面9位是 3 * 3 的权限定义位
文件标识位
- : 文件
d : 目录
为什么是三个3
第一个3
当前用户的权限
第二个3
跟当前用户同组的用户的权限
第三个3
其它组的用户的权限
为什么每组有3位
第1位
r : 英语read的缩写 读权限
第2位
w : 英语write的缩写 写权限
第3位
x : 执行权限
-r-r-----. root用户具备可读可写可执行的权限,跟root同组的用户只可读,其他组的用户没有任何权限
-r-r----- 的二进制表示
第1位:- 文件
第2 - 4位 : r-- =100 = 1 22 + 0 11 + 0 * 10 = 4
第5 - 7位 第 8 - 10位 同理- 使用二进制参数修改sudoers的权限
[root@james etc]# chmod 740 sudoers
[root@james etc]# ll -h | grep sudoers
-rwxr-----. 1 root root 4.0K Mar 2 2012 sudoers
超管 使用/etc/sudoers 授予用户sudo权限
vim /etc/sudoers 加入
普通用户 使用超管命令 - 必须加上sudo前缀
[tom@james ~]$ usermod -G emp tom
-bash: /usr/sbin/usermod: Permission denied
[tom@james ~]$ sudo usermod -G emp tom
We trust you have received the usual lecture from the local System
Administrator. It usually boils down to these three things:
#1) Respect the privacy of others.#2) Think before you type.#3) With great power comes great responsibility.
[sudo] password for tom:
[tom@james ~]$