用户、权限管理
- 用户是Unix/Linux系统工作中重要的一环,用户管理包括用户与组账号的管理。
- 在Unix/Linux系统中,不论是由本机或是远程登录系统,每个系统都必须拥有一个账号,并且对于不同的系统资源拥有不同的使用权限。
- Unix/Linux系统中的root账号通常用于系统的维护和管理,它对Unix/Linux操作系统的所有部分具有不受限制的访问权限。
- 在Unix/Linux安装的过程中,系统会自动创建许多用户账号,而这些默认的用户就称为“标准用户”。
- 在大多数版本的Unix/Linux中,都不推荐直接使用root账号登录系统
一、查看当前用户: whoami
whoami该命令用户查看当前系统当前账号的用户名
二、查看登陆用户信息: who
who命令用于查看当前所有登录系统的用户信息
| 选项 | 含义 |
|---|---|
| -m或am I | 只显示运行who命令的用户名、登录终端和登录时间 |
| -q或–count | 只显示用户的登录账号和登录用户的数量 |
| -u | 在登录时间后显示该用户最后一次操作到当前的时间间隔 |
| -u或–heading | 显示列标题 |
三、查看登陆用户: w
w命令也可以查看登录当前系统的用户信息。
与who命令相比,w命令的功能更强大,
它不但可以显示当前有哪些用户登录到系统还可以显示这些用户正在进行的操作, 并给出更加详细和科学的统计数据。
3.1 使用格式: w [options] [username]
options
| 选项 | 含义 |
|---|---|
| -h | 只显示运行w命令的用户名、登录终端和登录时间 |
| -i | 显示详细信息,默认 |
| -s | 不显示登录时间、JCPU和PCPU时间 |
| -u | 忽略执行程序的名称,以及该程序的PCPU时间 |
四、退出登陆账户: exit
- 如果是图形界面,退出当前终端;
- 如果是使用ssh远程登录,退出登陆账户;
- 如果是切换后的登陆用户,退出则返回上一个登陆账号。
五、切换用户: su
通过su命令切换用户,su后面可以加"-"
- su 不会切换工作目录
- su - 切换到用户的主目录
注意:如果是ubuntu平台,需要在命令前加“sudo”,如果在某些操作需要管理员才能操作,ubuntu无需切换到root用户即可操作,只需加“sudo”即可。
sudo是ubuntu平台下允许系统管理员让普通用户执行一些或者全部的root命令的一个工具,减少了root 用户的登陆和管理时间,提高了安全性。
六、添加、删除组账号: groupadd groupdel
- groupadd 新建组账号
- groupdel 组账号
- cat /etc/group 查看用户组
七、修改用户所在组: usermod
使用格式: usermod -g 用户组 用户名
八、添加用户: useradd/adduser
adduser是指向useradd的一个链接,二者使用方式一模一样
8.1 使用格式: useradd [options] username
options
| 选项 | 含义 |
|---|---|
| -d | 指定用户登陆时的主目录, 如果不使用该参数,系统自动在/home目录下建立与用户名同名目录为主目录 |
| -m | 自动创建目录 |
| -g | 指定组名 |
相关说明
- Linux每个用户都要有一个主目录,主目录就是第一次登陆系统,用户的默认当前目录(/home/用户);
- 每一个用户必须有一个主目录,所以用useradd创建用户的时候,一定给用户指定一个主目录;
- 用户的主目录一般要放到根目录的home目录下,用户的主目录和用户名是相同的;
- 如果创建用户的时候,不指定组名,那么系统会自动创建一个和用户名一样的组名。
九、设置用户密码: passwd
-
超级用户可以使用passwd命令为普通用户设置或修改用户口令。
-
用户也可以直接使用该命令来修改自己的口令,而无需在命令后面使用用户名。
十、删除用户: userdel
-
userdel 用户名删除用户,但不会自动删除用户的主目录 -
userdel -r 用户名删除用户,同时删除用户的主目录
十一、查询用户登录情况: last
不管是哪位用户从哪里登录,管理员都可以通过last命令查出,以及是否有人非法登录
十二、修改文件权限: chmod
chmod 修改文件权限有两种使用格式:字母法与数字法。
- 字母法
使用格式
chmod u/g/o/a +/-/= rwx 文件名
| 符号 | 含义 |
|---|---|
| u | user表示该文件的所有者 |
| g | group表示与该文件的所有者属于同一组(group)者,即用户组 |
| o | other其他用户 |
| a | all所用用户 |
| + | 增加权限 |
| - | 撤销权限 |
| = | 设定权限, 只设定一个权限其他权限取消 |
| r | read读取权限 |
| w | write写入权限 |
| x | excute执行权限,对于一个目录,如果没有x权限,那么就意味着不能通过cd进入这个目录 |
- 数字法
使用格式
chmod 4/2/1/0 filename
数字代表含义
| 数字 | 含义 |
|---|---|
| 4 | 读取权限 “r” |
| 2 | 写入权限 “w” |
| 1 | 执行权限 “x” |
| 0 | 没有任何权限 |
如果要个用户设置多个权限,就将权限数字值加起来
例如:
chmod u=rwx g=rx o=x filename == chmod u=7 g=5 o=1 filename
chmod u=rwx g=rx o=x filename == chmod 751 filename
chmod u=rwx g=rwx o=rwx filename == chmod 777 filename
- 第一个数字表示文件所有者的权限
- 第二个数字表示与文件所有者在统一用户组的用户的权限
- 第三个数字表示其他用户的权限
十三、修改文件所有者: chown
使用格式: chown 用户名 文件或目录名 --> 将文件或目录的所有者修改为另一个用户
十四、修改文件所属组: chgrp
使用格式: chgrp 用户组名 文件或目录名 --> 将文件或目录的所在组修改为另一个组