Linux是一个多用户、多任务的操作系统,多个用户可以在同一时间使用系统资源,系统也可以同时执行多个任务
用户管理
Linux操作系统提供了有效的用户账号和群组管理方案,将用户进行分组管理(管理组、用户组合虚拟用户组),另外,按照不同用户对各种资源的不同访问权限进行了系统资源权限的划分,用户分为root用户、普通用户和虚拟用户。
root用户在安装Linux系统时创建,ID为0,修改/etc/pam.d/login来许可root用户远程登录系统
普通用户,在安装完成后由系统管理员创建的
虚拟用户,该类用户不具备登录系统的能力,是系统运行不可缺少的一部分,如bin、damon、ftp、adm,安装时产生或管理员添加。
1、用户账户文件
为了内核识别各个用户,赋予每个用户UID,两个配置文件/etc/passwd和/etc/shadow
(1)配置文件/etc/passwd
每个用户账号对应一行,所有相关属性以冒号分隔
口令 经过加密保存在/etc/shadow
UID 1-499保留给系统使用,如FTP服务器默认的UID为14,500以上一般用户的UID
用户主目录 root用户在/root,普通用户在/home
登录shell 默认为/bin/bash
注:不建议采用直接编辑/etc/passwd的方式修改
(2)/etc/shadow文件属性
与/etc/passwd互补,是一个文本文件
口令密码(encrypt password)位于第2列,制指定经过加密的口令的密文信息(MD5),该文件为root用户只读
注:如果密码栏以*或!开头,表示该用户不能进行本地登录。
最近修改密码日期,距1970年1月1日得天数
密码不可更改天数,如果设置为0,表示没有限制,对应于/etc/login.defs中的“PASS_MIN_DAYS”
密码需要更改的天数,“PASS_MAX_DAYS”
密码失效提前通知天数 默认值为7天,对应“PASS_WARN_AGE”
密码过期宽限天数 默认未设置
账号失效时期 距1970年1月1日得天数,也可以设置成YYYY-MM-DD的格式
2、用户群组文件
(1)/etc/group配置文件
用户群组的所有成员 同属于某个指定用户群组的所有用户账号列表。
(2)/etc/shadow配置文件
命令行方式的用户管理
1、查看用户信息
#whoami ;查看当前用户的名称
#who ;查看当前登录的系统用户
#w ;查看当前登录系统用户的详细信息
#id ;查看指定用户的UID、GID及其所归属的用户群组等信息
#su ;切换登录系统用户
#finger ;查看指定用户的详细信息
#write ;对指定用户发送信息
#wall ;对所有用户广播信息
2、添加用户(useradd与adduser功能一样)
#useradd 或adduser
-c 对于新账号的说明
-d 所使用的主目录
-g 群组名称
-s 使用的SHell名称
加参数选项并直接跟所添加的用户名时,系统将读取添加用户所用的配置文件/etc/login.defs和/etc/default/useradd,向配置文件/etc/passwd和/etc/groups添加用户和用户群组记录,向配置文件/etc/shadow和/etc/gshadow同步添加用户和用户群组的口令密文信息记录。按照/etc/add/default中所约定的目录在系统中创建主目录,并复制/etc/skel中的文件(包括隐藏文件)到新用户的主目录中。
#useradd newuser
创建一个新用户,最起码修改/etc/passwd、/etc/shadow、/etc/group和/etc/gshadow 4个配置文件,初始Shell是/bin/bash,创建用户的主目录为/etc/newuser。
#useradd -r admin ;创建系统账号
创建新系统账号,但未创建该系统账号的主目录,默认的UID和GID都是系统级别(小于500)
如果想知道当前系统中创建用户都采用了那些默认配置,可以使用"useradd -D"命令来查询相关信息
也可以通过修改配置文件/etc/login.defs和/etc/default/useradd来修改默认选项
3、修改口令(passwd)
不带任何参数则会修改当前登录用户的秘密,root可以修改其他用户的秘密,而登录用户只能修改自己密码的权限。
注:Linux OS中的账号密码,处理收/etc/login.defs中的配置限制外,还要受/etc/pam.d/passwd这个PAM模块的检查
4、修改用户的finger信息-chfn
#chfn -f Testlinux newadmin ;修改newadmin的全名为Testlinux
5、修改用户的登录Shell-chsh
#chsh -s /bin/zsh testuser
注:Shell文件的路径必须是全路径
6、修改用户密码过期相关信息-chage
#chage -l toplinux ;显示账号toplinux的账龄信息
#chage -E 2010-01-01 toplinux ;查看toplinux账号失效时期
7、用户账号修改-usermod
注:建议初级用户不要直接修改配置文件
#usermod -c "Test Linux users" -d /root toplinux ;用户的备注文件改成“Test Linux users”。主目录改为root
8、删除用户账号-userdel
#userdel testuser
删除账号,userdel会主动删除/home下相应的用户主目录
命令行方式的群组管理
1、创建新群组-groupadd
-g: 创建指定GID的群组,
-k:覆盖/etc/login.defs中的设置
-o: 允许创建GID相同的群组
-r:系统群组
-f:即使创建的群组已存在,也返回成功标识。
#groupadd group1
#cat /etc/group|grep group1 ;创建并查看是否创建成功
2、删除群组-groupdel
注:在删除群组之前先确认是否删除了相应群组的用户或者将他们转移到了其他群组
#gpasswd -d newuser grouptest ;先删除组内的用户
#groupdel grouptest ;确定组为空才能删除该组
3、修改群组信息
#groupmod -g 789 -n testgroup1 testgroup
-g 指定群组号
-n 修改指定群组的名称
-o 允许修改不唯一的GID
4、修改群组密码-gpasswd
-a:将某个用户添加到群组中
-A:将群组的管理员权限交给某个用户
-M:将某些用户添加到组中
-d:将某个用户从群组中删除
-r:删除群组的密码。
#gpasswd -M toplinux,testuser1 group1 ;将用户toplinux,testuser1加入到群组group1中
#gpasswd -d toplinux,testuser1 group1 ;将用户toplinux,testuser1从群组group1中删除、
5、切换群组登录-newgrp
作用是使当前登录的用户切换至另一个群组身份后再次登入系统
- 选项,登录环境会被重新初始化
#newgrp grouptest ;把当前用户加入到testgroup组中,root不需要输入密码,其他用户需要
#groups ;查看当前的组
进程管理
系统同时运行多个进程,其中一个或多个进程成为一个作业。
运行中的程序叫做进程,一个运行的程序可能有多个进程
作业就是一个正在执行的进程,可以包括多个进程,如作业"cat /etc/passwd|grep user|more"就包括3个进程
1、进程监视-ps
#ps -aux|more
-a 显示所有用户的进程
-u 按用户名和启动时间的顺序来显示
-x 显示无控制终端的进程
2、终止进程kill、killall、pkill、xkill
#kill PID
-s 指定发送的信号
-p 模拟发送的信号
-l 指定信号的名称列表
-9 强制终止僵死进程、
#killall 进程名 ;如果已知了进程的名称,要终止进程
#pkill 正在运行的程序名 ;如果已知了进程的名称,要终止进程
#xkill ;图形界面进程终止工具xkill,执行xkill指令,然后单击需要关闭的窗口图标即可,按下鼠标右键可退出xkill
#top ;动态的进程监视工具,而且提供交互式操作,可以直接杀掉进程,在top监视窗口还可以按下特定按键来改变显示方式
,终止某个进程。
Space 立即更新
A 按进程生命长短进行排序,最新进程显示在最前
M 按内存占用大小排序
P 按CPU占用情况排序
S 切换到累积时间模式
W 把当前的配置写到~/.toprc中
注:在图形界面使用"gnome-system-monitor",弹出“系统监视器”窗口
2、nice/renice
谦让度得默认值为10,范围是-20至19
#nice -n 5 gaim ;调整程序的谦让度,以谦让度增加+5的方式运行gaim程序
-n 使原有谦让度增加adjustment
renice 15 2853 ;用来修改正在运行的程序(进程)的优先级,指定进程为2853的程序谦让度为15
作业控制
作业控制(Job Control)是指控制正在运行的进程的行为。
1、将命令放到后台执行-&
前台作业:可以直接控制的作业,比如用vi编辑文本
后台作业:在内存中自动运行的作业,用户无法直接控制
#make bzImage &
2、将当前作业“暂停”到后台-Ctrl+Z
3、观察当前后台作业状态-jobs
注:加号表示是一个当前的作业,减号是当前作业之后的一个作业。
4、将后台作业拿回来-fg
#jobs
#fg 3
5、让进程在后台运行-bg
Ctrl+Z将当前作业“暂停”到后台,使用“&”让进程在后台运行,在后台暂停的进程在后台启动运行,使用bg指令。
阅读(1494) | 评论(0) | 转发(1) |