linux用户和权限
简述
root-用户组-用户
cat /etc/group 查看用户组id
cat /etc/passwd 查看用户id
root:x:0 账户名称 账户密码 用户标识符(user id)
lala:x:1000
user id=0 root 账户
user id=1-1000 系统账户
user id=1001-- 一般账户
sudo cat /etc/shadow 密码保存位置,需要root权限
lala:xxxx:19415:0:99999:7:::
1用户 2加密的密码 3 最近更改密码的日期 4密码不可更改的天数 5密码再次更改需要天数 6 密码过期前n天开始警告 7 宽限日期 8.账户失效日期 9.保留
sudo 执行系统管理员的操作
sudo passwd root 修改root账户的密码
sudo cat /etc/sudoers 查看可以执行sudo命令的账户
# Allow members of group sudo to execute any command %sudo ALL=(ALL:ALL) ALL 允许sudo用户组执行
sudo grep sudo /etc/group 查看sudo用户组 sudo:x:27:lala
sudo visudo 打开sudoers文件并进行编辑
su命令 更加强大的命令
-c 执行完该命令后推出登录的用户
-l 输入要切换的用户
-m 保持在当前的shell环境
su - 直接切换为root用户
su -l root 切换为root用户
~# exit 退出当前账户
su -c "cat /etc/shadow" 用su执行完成命令后自动切换回登录用户
新增用户
-u 指定新创建用户的uid
-g 指定新创建用户的用户组
-G 指定新创建用户可以加入的用户组
-M 不创建用户主目录
-m 创建用户主目录
-c 用户信息说明
-d 指定新创建用户的用户文件夹
-r 创建系统账户
-s 指定新创建用户的默认shell 否则为/bin/bash
-e 指定账户过期日期
sudo useradd lala-2 用默认值添加账户lala-2
sudo grep lala-2 /etc/passwd /etc/group /etc/shadow 查看用户uid和用户组gid以及密码保存位置如下:
# /etc/passwd:lala-2:x:1001:1001::/home/lala-2:/bin/sh uid=1001 gid=1001
# /etc/group:lala-2:x:1001:
# /etc/shadow:lala-2:!:19418:0:99999:7::: 密码=!代表账号未启用
sudo useradd -g lala-2 lala-2-1 向lala-2的用户组里添加lala-2-1
sudo grep lala /etc/passwd /etc/shadow 查看lala相关的用户uid和秘密 可见lala-2和lala-2-1都属于1001的用户组
# /etc/passwd:lala:x:1000:1000:lala,,,:/home/lala:/bin/bash
# /etc/passwd:lala-2:x:1001:1001::/home/lala-2:/bin/sh
# /etc/passwd:lala-2-1:x:1002:1001::/home/lala-2-1:/bin/sh
# /etc/shadow:lala:xxx:19415:0:99999:7:::
# /etc/shadow:lala-2:!:19418:0:99999:7:::
# /etc/shadow:lala-2-1:!:19418:0:99999:7:::
查看用户信息
-g 显示初始用户组 gid
-G 显示所有用户组gid
-u 显示登录用户uid
-n 配合使用输出用户名称
id 输出当前登录用户的信息
id lala-2 输出指定用户的信息 uid=1001(lala-2) gid=1001(lala-2) 组=1001(lala-2)
id -Gn -G 输出所有包含当前登录用户的用户组名称
修改用户信息
sudo passwd lala-2 修改用户lala-2的密码
sudo -l lala-2 登录创建的用户,切换失败,没有创建lala-2目录
passwd命令
sudo passwd -l lala-2-1 锁定用户
sudo passwd -u lala-2-1 解锁用户
还可以使用usermod命令来实现用户的修改和锁定
-G 修改group文件第四个字段内容
-l 修改passwd的用户名称
-u 修改用户的uid
-L 修改用户密码使冻结
-U 取消密码冻结
还可使用chfn来完成用户信息的修改
删除用户
sudo userdel lala-2-1 删除用户lala-2-1
用户组管理
sudo groupadd lala-3 添加用户组lala-3
sudo groupdel lala-3 删除户组lala-3
文件属性
ls -l 查看文件属性
drwxr-xr-x 8 lala lala 4096 1月 20 1970 pycharm
第1个字符: 文件类型 d为目录
第2-4个字符: 代表文件所属用户的权限 r读 w写 x执行 rwx:可读可写可执行
第5-7个字符: 用户所属用户组的权限 r-x:可读不可写可执行
第8-10个字符: 其他用户具有的权限 r-x:可读不可写可执行
使用chown命令更改文件所属用户
sudo chown lala-2 test.txt test所属用户更名为lala-2
sudo chown lala-2 : lala-2 test.txt test所属用户更名为lala-2,所属用户组更名为lala-2
# 使用chmod数字方式设置文件权限
rwx 应用二进制 111 4+2+1=7 十进制 7
--- 应用二进制 000 十进制 0
用三位数字来代表 用户 用户组 其他用户的权限
sudo chmod 770 test.txt 对用户用户组rwx,对其他用户---
# 使用chmod符号方式设置文件权限
用户符号 ugoa 设置符号+—=
sudo chmod o + r test.txt 给其他用户增加读的权利
sudo chmod o = rwx test.txt 赋予其他用户rwx的权利,最好同时指定 如:rwx,-wx,r--等等...否则造成其他权限丢失
# 为新增用户创建主目录
1>默认的用户主目录都以 /etc/skel 目录为模板来创建
ls -l /etc | grep skel 查看/etc/skel目录权限
2>查看用户主目录默认路径
grep lala-2 /etc/passwd lala-2:x:1001:1001::/home/lala-2:/bin/sh
ls /home/lala-2 此目录并不存在
3>复制模板
sudo cp -a /etc/skel /home/lala-2 复制模板目录到用户主目录,原本的etc就是空?
4>修改用户权限
sudo chown -R lala-2:lala /home/lala-2 把lala-2移动到lala用户组
ls -l /home | grep lala-2 查看更改,发现更改成功 drwxr-xr-x 2 lala-2 lala 4096 2月 23 11:57 lala-2