Linux系统支持多用户登录,具有root权限的用户可以管理当前系统的用户,包括创建,删除等,不同用户对Linux的文件有不同访问权限,用户也可以方便地进行控制,本文简单介绍用户及文件权限的管理方法
1. Linux用户管理
(1) 使用who
查看用户
查看当前用户信息,使用如下命令:
$ who am i
$ who mom likes
注意:输出内容中第一列为打开当前伪终端的用户名,第二列为伪终端序号,第三列为当前伪终端打开时间,仅显示用户名则用whoami
who
的常用参数:
-a
打印所有信息-d
打印死进程-m
查看当前用户信息-q
打印当前登录用户名及用户数-u
打印登录用户登录信息-r
打印运行等级
(2) 创建用户
root权限:拥有系统的最高权限,可以添加/删除用户
获取root权限的条件:登录用户属于sudo
组,拥有登录用户密码
root权限的使用:
sudo <command>
:以root权限执行命令su <user>
:切换用户su -l <user>
:切换用户同时更改登录环境
# 创建用户testuser
$ sudo adduser testuser
# 切换到用户testuser
$ su -l testuser
# 退出该用户,可直接用`Ctrl` + `d`
$ exit
注意:useradd
与adduser
用法不同,useradd
负责创建用户,创建完还需要passwd <username>
来设置密码,而adduser
在创建时全部完成
(3) 查看与更改用户组
用户组:一组用户的集合,共享一定的资源,Linux中每一个用户都共享一组用户
查看所属用户组的方法:
- 使用groups命令:
# 结果中冒号后为所属用户组
$ groups testuser
- 查看
/etc/group
文件:
$ cat /etc/group | sort
注意:/etc/group
文件的格式为group_name:password:GID:user_list
只有sudo
用户组的用户才可以获得root权限
将用户testuser
添加到sudo组:
$ sudo usermod -G sudo testuser
(4) 删除用户
删除testuser
用户并移出其home文件:
$ sudo deluser lilei --remove-home
2. Linux文件权限
使用ls -l
命令可以查看包括文件权限在内的详细文件信息,其内容解释如下:
对文件权限部分含义解释如下:
关于文件信息的几点解释:
- 文件类型:Linux中一切均为文件,如设备文件
/dev
、网络套接字socket
、管道pipe
等 - 文件权限:读
r
、写w
、执行x
- 一个目录同时具有读权限和执行权限才可以打开并查看内部文件
- 一个目录要有写权限才允许在其中创建其它文件
- 文件大小:以inode节点大小为单位,可以用
ls -lh
来查看 - 链接数:链接到文件所在inode节点的文件名数
更多ls
参数的功能可以查看man文档…
文件的相关信息可以进行修改,下面介绍修改文件权限相关信息的方法:
① 修改文件所有者:
$ sudo chown <username> <filename>
② 修改文件权限:
- 文件的权限可用三位二进制数来表示,由高位到低位依次为
读、写、执行
- 一个文件按用户类型分包括三组这样的权限,顺序依次为
拥有者、所属用户组、其他用户
- 修改文件权限有两种方式:通过二进制数字指定、使用加减运算符
# 以下两种方式效果相同
$ chmod 700 myfile
$ chmod go-rw myfile
注意:g
、o
还有 u
分别表示 group、others 和 user,+
和 -
分别表示增加和去掉相应的权限。