Linux极简入门系列(四):用户和文件权限
Linux极简入门系统目录:
1、系统安装和配置(VMware/CentOS、WSL/ubuntu)
2、Linux的目录结构和常用操作
3、vim文本编辑器
4、用户和文件权限
5、软件和服务管理
6、其它补充
一、用户管理
1、超级管理员和普通用户
- 普通用户,在其home目录内,是不受限的。但出了其home目录,一般只有读和执行权限,没有写权限。
- 超级管理员root,拥有最大的系统操作权限
- 切换用户命令:
su 用户名
,如登陆超级管理员账号:su root
,输入密码。exit
,回退到之前的账号。ctrl+d
,退出当前账号。 - 为普通用户添加临时的超级权限:
- 登陆超级管理员账户
- 编辑配置文件
vim /etc/sudoers
- 在文件最后添加
mc ALL=(ALL) NOPASSWD:ALL
- 保存退出
- 输入
exit
,切换到普通用户 - 输入
mkdir /bin/abc
,提示...Permission denied
,没有权限 - 输入
sudo mkdir /bin/abc
,获得超级管理员的临时权限,操作成功
2、用户和用户组
- Linux中权限的管理有两个维度,一是用户,二是用户组。一个用户组可以有多个用户,一个用户可以属于多个用户组,多对多关系。
- 针对某个文件,可以控制用户的权限,也可以控制用户组的权限。
- 用户和用户组管理,都需要超级管理员root权限。
- 创建用户组:
groupadd group1
- 删除用户组:
groupdel group1
- 创建用户:
useradd zs -g group1 -d zs-home
创建用户zs,加入到group1用户组,并创建/home/zs-home的用户home目录useradd zs -g group1
创建用户zs,加入到group1用户组,并自动创建/home/zs的用户home目录useradd zs
创建用户zs,自动创建并加入到zs用户组,并自动创建/home/zs的用户home目录
- 删除用户:
userdel zs
删除用户zsuserdel -r zs
删除用户zs,并删除用户的home目录
- 查看用户:
id
查看自己id mc
查看指定用户
- 修改用户密码:
passwd
修改当前用户密码passwd mc
修改指定用户密码
- 查看系统所有用户和用户组:
getent passwd
查看系统用户getent group
查看系统用户组
- 修改用户所属用户组:
usermod mc -aG g1
将用户mc加入到g1用户组
- 创建用户组:
二、文件权限管理
1、查看文件权限信息,输入ls -l
或者ll
命令
- rwx:
r
为读权限,如ls;w
为写权限,如mkdir/touch/rm;x
为执行权限,如cd。如相应位置为-
,则表示没有相应权限。 - file type:文件类型,
d
文件夹,-
文件,l
软链接文档link file,b
存储设置,c
串行端口设备 - user permissions:文件所有者,拥有的权限
- group permissions:文件所有者同组用户,拥有的权限
- other permissions:其它用户,拥有的权限
- user(owner) name:所有者名称
- group name:所有者所在组名称
2、修改文件/文件夹权限
- 只用文件/文件夹所有者或root超级管理员,有权限修改
- 命令
chmod [-R] u=...,g=...,o=... 路径
chmod u=rwx,g=rx,o=x abc.txt
:修改abc.txt文件的权限为rwxr-x--xchmod -R u=rwx,g=rx,o=x abc
:修改abc文件夹及其内部的所有文件的权限为rwxr-x--xchmod 751 abc.txt
:修改abc.txt文件的权限为rwxr-x--x。751为数字表示法,r=4、w=2、x=1,
3、修改文件所属用户和用户组
- 只有root超级管理员,有权限修改
- 命令
chown [-R] [用户] [:用户组] 路径
chown root abc.txt
:将abc.txt的所属用户修改为rootchown :root abc.txt
:将abc.txt的所属用户组修改为rootchown root:root abc.txt
:将abc.txt的所属用户修改为root,用户组修改为rootchown -R root abc
:将abc文件夹及其内部的所有文件的所属用户修改为root