一、用户和组的基本介绍
-
用户
- 用户账户文件 /etc/passwd
用6个冒号分隔7个字段,每个字段含义:
1.用户名
2.x表示用户口令已加密(密码存放于shadow文件)
3.用户id
4.组id
5.注释
6.用户的home文件夹
7.登录的shell
-
影子文件/etc/shadow
mac: 6 6 6RWEC2OL2$VDlHwSKQSlwHOnlzNAUfAYDZlChkr5MloshL1EPZBSrQ1OoaXyBnQB2Zep3goG/PGmL8yXER7aS9OUxP/cohi1:18393:0:99999:7:::
8个冒号分隔9个字段
1.用户名
2.密码
3.从1970年1月1日起到上次修改密码经过的天数
4.需要0天才能再次修改口令
5.多少天后必须修改密码(99999表示密码永不过期)
6.密码过期前多少天提醒更改密码(7天)
7.密码过期后多少天禁用用户账户
8.用户被禁用的日期(自1970年1月1日经过的天数)
9.备用 -
组
- 组 /etc/group
用3个冒号分隔4个字段,每个字段含义:
1.组名
2.密码
3.GID
4.该用户组中的用户列表
说明:第2个字段 用户组密码主要是用来指定组管理员的,现已很少用
第4个字段 如果该组是用户的初始登录组(主群组),则该用户这里不显示。如果该组是用户的附加群组,则该用户在此显示。
- 组影子文件 /etc/gshadow
mac:!::
1.组名 2.!表示无密码 3.用户组管理者 此处为空 4.该组中的用户
二、使用命令设置用户和组
-
创建新用户登录系统
-
创建用户:sudo useradd -d /home/tom -g msh -m -s /bin/bash tom
-d 指定用户的home目录
-g 指定用户的初始登陆组(主群组)
-m如果不存在,则创建用户主目录
-s 用户使用的shell
-
-
设置密码:sudo passwd tom
-
修改用户权限:
方法一:
修改用户的权限:(/etc/sudoers文件只有r权限,在改动前需要增加w权限,改动后,再去掉w权限)
(1)为sudoers增加写入权限sudo chmod +w /etc/sudoers sudo vim /etc/sudoers
(2)为用户XXX添加读写权限
root ALL=(ALL:ALL) ALL
tom ALL=(ALL:ALL) ALL // 这一行为新添加的代码
(3)将sudoers文件的操作权限改为只读模式sudo chmod -w /etc/sudoers
(4)更新软件列表,该命令正确执行说明用户创建成功
sudo apt update
方法二:
或者将用户加入sudo组,也可以具有root权限
sudo usermod -a -G sudo tom #加入tom用户到sudo组 id tom #查看用户和所属的组信息
-
切换用户
su 用户名 #例如 su tom
-
删除用户
sudo userdel XXX sudo rm -rf /home/XXX
删除或者注释掉/etc/sudoers中关于要删除用户的配置,否则无法再次创建同名用户。
#暂忽略 彻底删除用户残余信息 cd /home # 删除/home目录下的文件 rm -rf XXX cat /etc/passwd # 删除/etc/passwd下的用户 cat /etc/group # 删除/etc/group下的用户组文件 cd /var/spool/mail # 删除/var/spool/mail下的邮箱文件
-
将用户加入附加组
groupadd 组名 #新建组
sudo usermod -G 组名 用户名 #修改用户的组 -g表示主群组 -G附加群组
sudo gpasswd -a 用户名 组名 #将用户加入附加群组 -d删除
三、权限管理
-
权限查看
ls -l
-
权限修改
chmod [操作对象] [操作符] [权限] 文件名 #修改文件权限
-
操作对象: u 文件或目录的所有者
g 同组用户
o 其他用户
a 所有用户 -
操作符号:+增加权限 -取消权限 =权限赋值
-
权限: rwx -
-
例题: chmod g+w f1
chmod u=rw,g=r,o=r f2
chmod
-
数字法: chmod 数字 文件名
所有者 群组 其他用户 rw- r-- r-- 110 100 100 6 4 4 111 111 111 7 7 7
-
-
改变文件所有者
chown 用户名 文件名 #改变文件的所有者
-
设置文件默认权限
umask #查看掩码 默认0022
umask 掩码 #设置掩码
例如:umask 0000 #设置所有用户都有读写权限
基数:目录 777 文件 666
文件默认具有权限:基数-umask的值 文件默认具有权限666-022=644