Linux用户权限的基础命令
😁这是我的个人学习笔记,如果刚好帮助了你,我会很高兴的。当然如果笔记中有不正确的地方,欢迎指正😋
1.用户信息(以用户名user01为例)
1.1 创建用户名为user01的账户
useradd user01
1.2 为user01用户修改密码
passwd user01 (执行后会提示输入两次新密码,即可修改完成)
1.3 删除用户user01
# 需要带-r 否则用户数据会有残留,会影响下次创建该用户
userdel -r user01
1.4 查看系统用户信息
# 查看用户信息
cat /etc/passwd
#用户名:密码:用户id:分组id:用户目录:用户对应的与linux交互的程序
user01:x:1001:1002::/home/user01:/bin/bash
# 查看用户密码信息
cat /etc/shadow
#查看用户分组信息
cat /etc/group
# 用户名:密码(占位符):分组id
user01:x:1002:
1.5 将用户分配到指定的分组
# 将用户user01 分配到groupname分组
usermod -aG groupname user01
2. 用户权限
字母权限 rwx
r: 读权限(read)
w: 写权限(write)
x: 执行权限
数字权限 421
4: 读权限
2: 写权限
1: 执行
2.1 UGO方式授权
U: 用户(User)
G: 分组(Group)
O: 其他用户(Other)
2.1.1 切换用户和临时提权
# 切换用户,root用户切换到其他用户不用验证密码,其他用户切换root用户需要验证密码
su - root
# 临时提权 以root用户执行命令 命令执行完后就失效了
sudo
2.1.2 设置用户权限 chmod
* 字母权限
# 设置文件拥有者用户可以读取的权限
chmod u+r ./home/test.txt
# 设置分组用户有执行权限
chmod g+x ./home/test.txt
# 设置其他用户有写入权限
chmod o+w ./home/test.txt
以此类推...
* 数字权限
# 属主有读写执行权限(4+2+1)-分组用户只读权限(4)-其他用户有执行权限(1)
chmod 741 ./home/test.txt
#设置home目录以及以下所有文件的权限
chmod -R 741 ./home
以此类推...
2.1.3 文件转移拥有者 chown
# 将文件或文件夹转移给 root用户 user01group分组
chown user01:user01group ./home/test.txt
# 将文件或文件夹下所有的文件递归转移给 root用户 user01group分组
chown -R user01:user01group ./home/test.txt
# 将文件或文件夹转移给 user01group分组
chown . user01group ./home/test.txt
# 将文件或文件夹转移给 root用户
chown user01 . ./home/test.txt
2.2 FACL方式授权
# 单独对用户user01设置读、写、执行权限
setfacl -m u:user01:rwx /home/test.txt
# 去掉用户user01的所有权限
setfacl -m u:user01:- /home/test.txt
#删除一个用户对这个文件的的所有权限
setfacl -x u:user01 /home/test.txt
#删除所有用户对这个文件的权限
setfacl -b /home/test.txt
# 查询某个文件哪些用户拥有哪些权限
getfacl /home/test.txt
😍未完待续…20230114