linux中一切皆文件!
(文件:读写执行(查看、创建、删除、移动等),权限(用户,用户组),系统(磁盘,进程))
一、 账号管理
用户账号的管理工作主要涉及到用户账号的添加、修改和删除。
添加账号 useradd
增加用户账号就是在/etc/passwd文件中为新用户增加一条记录
常用参数有两个:
- -m 使用者目录,如不存在则自动建立。
- d 目录 指定用户主目录,如果此目录不存在,则同时使用-m选项,可以创建主目录
创建了一个用户yangguang,其中 -m 选项用来为登录名yangguang产生一个主目录 /home/yangguang
使用 cat /etc/passwd
命令来查看创建的新用户:
删除用户 userdel
删除用户账号就是要将/etc/passwd等系统文件中的该用户记录删除,必要时还删除用户的主目录。
格式为:userdel -r 用户名
,如userdel -r yangguang
把用户yangguang的主目录一起删除。
修改账号 usermod
修改用户账号就是根据实际情况更改用户的有关属性,如用户号、主目录、用户组、登录Shell等。
常用的选项包括-c, -d, -m, -g, -G, -s, -u以及-o等,这些选项的意义与useradd命令中的选项一样,可以为用户指定新的资源值。
比如:usermod -d /home/111 yangguang
这个命令是修改主目录为/home/111
切换用户 su
1.切换用户的命令为:su username
2.从普通用户切换到root用户,还可以使用命令:sudo su
3.在终端输入exit或logout或使用快捷方式ctrl+d,可以退回到原来用户,其实ctrl+d也是执行的exit命令
4.在切换用户时,如果想在切换用户之后使用新用户的工作环境,可以在su和username之间加 - ,例如:【su - root】.
$表示普通用户,#表示超级用户,也就是root用户。
用户密码管理 passwd
指定和修改用户口令的Shell命令是passwd。超级用户可以为自己和其他用户指定口令,普通用户只能用它修改自己的口令。
命令的格式为:passwd 选项 用户名
- -l 锁定口令,即禁用账号。
- -u 口令解锁。
- -d 使账号无口令,这样用户下一次登录时,系统就不再允许该用户登录了。
- -f 强迫用户下次登录时修改口令。
如果是超级用户root,可以用下列形式指定任何用户的密码 :passwd 账户名
# passwd yangguang
New password:*******
Re-enter new password:*******
普通用户要修改自己的密码时,直接用 passwd
即可
$ passwd
Old password:******
New password:*******
Re-enter new password:*******
二、用户组管理
将用户分组是Linux 系统中对用户进行管理及控制访问权限的一种手段。每个用户都有一个用户组,系统可以对一个用户组中的所有用户进行集中管理。不同Linux 系统对用户组的规定有所不同,如Linux下的用户属于与它同名的用户组,这个用户组在创建用户时同时创建。
用户组的管理涉及用户组的添加、删除和修改。组的增加、删除和修改实际上就是对 /etc/group 文件的更新。用户组的所有信息都存放在 /etc/group 中。
增加用户组 groupadd
groupadd 选项 用户组
- -g GID 指定新用户组的组标识号(GID)。
- o 一般与-g选项同时使用,表示新用户组的GID可以与系统已有用户组的GID相同。
实例1:groupadd group1
此命令向系统中增加了一个新组group1,新组的组标识号是在当前已有的最大组标识号的基础上加1。
实例2: groupadd -g 101 group2
此命令向系统中增加了一个新组group2,同时指定新组的组标识号是101。
删除用户组 groupdel
例如: groupdel group1
此命令从系统中删除组group1
修改用户组属性 groupmod
格式为:groupmod 选项 用户组
- -g GID 为用户组指定新的组标识号。
- n新用户组 将用户组的名字改为新名字
groupmod -g 102 group2
此命令将组group2的组标识号修改为102。
groupmod –g 10000 -n group3 group2
将组group2的标识号改为10000,组名修改为group3。
切换用户组 newgrp
如果一个用户同时属于多个用户组,那么用户可以在用户组之间切换,以便具有其他用户组的权限。
用户可以在登录后,使用命令newgrp切换到其他用户组,这个命令的参数就是目的用户组。
$ newgrp root
这条命令将当前用户切换到root用户组,前提条件是root用户组确实是该用户的主组或附加t组。
记住:
1./etc/passwd 文件是用户管理工作涉及的最重要的一个文件,这个文件对所有用户都是可读的。Linux系统中的每个用户都在/etc/passwd文件中有一个对应的记录行,它记录了这个用户的一些基本属性。
# cat /etc/passwd
root:x:0:0:Superuser:/:
daemon:x:1:1:System daemons:/etc:
bin:x:2:2:Owner of system commands:/bin:
sys:x:3:3:Owner of system files:/usr/sys:
adm:x:4:4:System accounting:/usr/adm:
uucp:x:5:5:UUCP administrator:/usr/lib/uucp:
auth:x:7:21:Authentication administrator:/tcb/files/auth:
cron:x:9:16:Cron daemon:/usr/spool/cron:
listen:x:37:4:Network daemon:/usr/net/nls:
lp:x:71:18:Printer administrator:/usr/spool/lp:
其格式和具体含义如下:
用户名:口令(x表示不可见):用户标识号:组标识号:注释性描述:主目录:登录Shell
2./etc/shadow文件中存放的是分离出来的加密后的口令,只有超级用户才拥有该文件读权限,这就保证了用户密码的安全性。
其格式和具体含义如下:.
登录名:加密口令:最后一次修改时间:最小时间间隔:最大时间间隔:警告时间:不活动时间:失效时间:标志
3./etc/group文件存放着用户组的所有信息
其格式和具体含义如下:.
组名:口令:组标识号:组内用户列表
三、磁盘管理
Linux磁盘管理常用命令为 df、du。
df: 列出文件系统的整体磁盘使用量
du: 也是查看使用空间的,但是与df命令不同的是du命令是对文件和目录磁盘使用的空间的查看。
- du -a 列出所有的文件与目录容量,因为默认仅统计目录底下的文件量而已。
- du -sm /* 检查根目录下每个目录所占用的容量
四、进程管理
每个进程都会有一个父进程,进程有两种存在方式:前台和后台运行,一般服务都是在后台运行,基本的程序都是在前台运行。
命令:ps
- -a 显示当前中终端运行的进程信息(当前运行的)
- -u 以用户的信息显示进程
- -x 显示后台运行进程的参数
组合使用:ps -aux 查看所有的进程
grep: 查找文件中符合条件的字符串
- ps -aux|grep mysql 查看mysql进程
- ps -aux|grep redis 查看redis进程
- ps -aux|grep java 查看java进程
- …
ps -ef 可以同时查看父进程的信息
如ps -ef|grep mysql
pstree -pu 进程树!
- -p 显示父进程id
- -u 显示用户组
结束进程:kill -9 进程id
强制结束该进程
一般来说服务器上很少结束进程,但是如果我们写的一个java代码死循环了,我们可以选择结束进程!