文章目录
3. 系统操作(用户&权限)
3.1 用户管理
useradd 新建用户
创建用户,会同时发生以下几件事(注意,要用root用户创建,我这里系统特殊):
- 会拥有用户自己的家目录(加-m参数)
- 会在/etc/passwd中记录
- 会创建一个和用户名同名的组
- id命令可以查看是否存在该用户
id 用户名
,若不指定用户名,表示查看当前用户 - 为用户定义密码(修改密码):passwd 用户名
userdel 删除用户
- -r 删除用户时,也删除其家目录
注: 如果删除不了用户,可能是用户未登出,多按几下
Ctrl D
来登出,再删除
- 如果没加-r,保留的家目录就是无主的,只有root用户可以访问。
- 如果一家删除了用户,还想删除家目录,也可以用
userdel -r
再次删除
usermod 修改用户账户信息
- -d 修改用户家目录位置
usermod -d 新路径 用户名
- chage 修改用户账户信息
3.2 组管理
- 创建组
groupadd 组名
- 删除组
groupdel 组名
- 修改用户组
usermod -g 组名 用户名
- 创建用户时,指定组
useradd -g 组名 用户名
3.3 su和sudo
- su 临时用户切换
- 切换用户同时切换用户环境(比如从根目录切到该用户家目录)
su - 用户名
- sudo 以其他用户身份执行命令
- 修改sudo权限:
visudo
点击这里查看nano用法
另: 个人用vim比较习惯,可以看到上面显示了文件名
/etc/soduers.tmp
,去这个路径下找到这个文件(实际名为/etc/soduers
),然后用vim修改。
用户名 登录主机=(可以使用的命令) 是否需要输入密码
- 如果是用户组,前面要加%
- 如果是字符终端,为localhost。如果希望远程登录,用ALL
- 多条命令,可用逗号隔开
忘了命令的路径,可用: !which 命令名
在vim中查找
- DEMO: 赋予xiaoming用户在远程终端上阻止关机的权限
在文件末尾添加一行
xiaoming ALL=/sbin/shutdown -c
3.4 用户与组配置文件介绍
/etc/passwd
保存用户和用户配置相关信息
- 用户名:是否需要密码验证:uid:gid:注释:家目录位置:用户登录的命令解释器
- 密码验证:需要:x,不需要:空着
- uid:如果重复,以小的为准,比如将xiaowang的uid修改为0,则切换为xiaowang时,虽然显示为xiaoming,实则为root用户。
nologin表示该用户不能登录终端
/etc/shadow
包含用户和密码相关信息
- 用户名:密码(密码是加密过的,即使相同密码,结果也不一样)
/etc/group
- 组名:是否需要密码验证:gid:用户名
pi用户是属于pi组的,上面这个的意思是,pi同时属于sudo组
3.5 文件权限
3.5.1 文件类型
类型 | 说明 |
---|---|
- | 普通文件 |
d | 目录文件 |
b | 块特殊文件(就是设备,比如插入一个硬盘) |
c | 字符特殊文件(终端) |
l | 符号链接 |
f | 命名管道 |
s | 套接字文件 |
3.5.2 权限介绍
- 对于文件来说,rwx对应可读、可写、可操作
- 对于目录来说。r表示是否可以读取目录内容,如ls;w表示是否可以增删改目录内容,如rm;x表示是否可以进入目录,如cd。
- 前三个:属主权限
- 中间三个:属组权限
- 后三个:其他用户权限
- 数字权限的表示方法:r=4, w=2, x=1
- 数字表示方法,很像一个古老的思维游戏:分金块。分金块的逻辑就是二进制。
- vim并不是真正的写入文件,它是复制了一个
.文件名.swp
文件,对其进行操作,然后在保存时替换原文件。所以测试rwx时,不要用vim。可以用echo写入文件。echo 内容 > 文件路径
覆盖写入。echo 内容 >> 文件路径
追加写入。- 创建文件有默认权限,根据umask值计算(666-umask计算),属主/组根据当前进程的用户设定
3.5.3 修改权限
权限是管不住root用户的,不要拿root用户做测试
-
chmod 修改文件、目录权限(有两种方法)
chmod u+x 文件路径
chmod 755 文件路径
修改属主u、属组g、其它o,都修改a。
属主增加写权限:u+w
属主减少写权限:u-w
属主等于全权限:u=rwx
-
chown 更改属主、属组
chown 属主名 文件路径
更改文件属主
chown :属组名 文件路径
更改文件属组
chown 属主名:属组名 文件路径
更改文件属主、属组 -
chgrp 单独更改属组(不常用)
chgrp 属组名 文件路径
更改文件属组
注意: 如果属主属于属组,并且权限冲突,以属主为准。
3.5.4 特殊权限
以下权限不建议手动制定,保持系统默认即可
SUID
用于二进制可执行文件,执行命令时取得文件属主权限(特点:属主的x变为s)
如:/usr/binpasswd
定义:chmod 4xxx 文件路径
来定义,x处是数字SGID
用于目录(一般用于共享),在该目录下创建新的文件和目录,权限自动更改为该目录的属组(特点:属组的x变为s)
定义:chmod 2xxx 文件路径
来定义,x处是数字SBIT
用于目录,该目录下新建的文件和目录,仅root用户和自己可删除(特点:其它的x变为t)
如:/tmp
定义:chmod 1xxx 文件路径
来定义,x处是数字