Linux学习笔记(四)——Linux用户管理

1.      用户账号最重要的两个文件就是”/etc/passwd”与”/etc/shadow”,可以用man 5 passwd查看。

/etc/passwd中”:”分隔开7部分内容,分别是:账号名称,密码(显示为x表示密码已经移到shadow这个加密后的文件中去了),UID,GID,用户信息说明栏,家目录,登陆Shell(比如,如果想让用户登陆后直接进入vi,把这个shell直接改为/usr/bin/vi就好了)。

/etc/shadow中”:”分隔开9个字段,分别是:账号名称,密码(如果此栏第一个字符为*或!,表示这个账号并不会用来登录),最近更改密码的日期,密码不可更改的天数,密码需要重新更改的天数,密码更改期限前的警告期限,密码过期的宽限时间,账号失效日期,保留。


2.      如果忘记root密码怎么办?

以各种可行的方法启动进入Linux,如单用户维护模式,或者是以Live CD进入Linux系统,之后,顺利挂载硬盘,然后进入/etc/shadow文件中,将root密码这一栏全部清空。然后登陆Linux,这时root不需要密码就可以登陆了。最后用passwd设置root密码。

3.      有效用户组与初始用户组,查看所属的用户组groups,切换用户组newgrp。

4.      Linux账号管理

新增用户useradd,默认值参考/etc/default/useradd,用户家目录参考/etc/skel/*,与密码及UID/GID有关的设置参考/etc/login.defs中。

设置用户数据usermod,删除用户userdel。

如果想要完整地将某个账号删除,最好在执行userdel–r username之前,先以”find / -user username”查出整个系统内属于username的文件,然后再删除。

5.      切换用户身份

su    - 使用root的环境设置参数文件

-l username 使用username的环境设置参数文件

sudo                   这是让用户“输入用户自己的密码“,参考/etc/sudoers。建议一定要用visudo去编辑/etc/sudoers文件,因为visudo会去检查/etc/sudoers内部的语法。若要使用sudo时不输入密码,则可以修改为”username ALL = (ALL) NOPASSWD: ALL”。

6.      当/etc/nologin文件存在时,任何一个一般身份账户在尝试登陆时,仅会获得/etc/nologin内容的信息,而无法登陆主机。

7.      查询用户:w、who、last、lastlog

用户对话:talk、mesg、wall

8.      例行性命令

at     仅进行一次的工作任务分配

atq和atrm查看和删除需要at执行的任务

cron 循环执行的例行性命令

cron执行的每一项工作都记录到/var/log/cron这个登录文件中。

crontab -e(编辑) -l(查看) -r(删除,注意这会删除全部的工作,删除一项工作的时候使用cron -e)

对于想要每天、每小时执行的命令,可以查看/etc/crontab。

9.      作业管理:

&               将命令放到后台执行

[Ctrl]-z      将“当前”作业放到后台“暂停”

jobs           观察当前后台作业状态

fg               将后台作业拿到前台处理

bg              让作业在后台运行

kill              管理后台作业

10.   dmesg      查看开始过程中的消息

11.   进程的执行顺序

PRI(new) = PRI(old) + nice,PRI越小,表示该进程“优先级越高”,PRI是由系统动态产生的,不是一直固定的值。一般用户的nice值为0~19,root可用的nice值为-20~19。

开始执行进程就立即提供一个特定的nice值,用nice命令,如nice -n-5 vi。

调整某个已经存在的PID的nice值,用renice命令,top同样也可以调整nice值。

注意,整个nice值是可以在父进程-子进程之间传递的。

12.   /proc文件系统

对于/proc文件系统的详细说明,可以man5 proc查看。

其中/proc/cmdline,加载kernel执行的相关参数,查看此文件,可以了解系统是如何启动的。



Linux学习笔记(四)——Linux用户管理_第1张图片


13.   fuser         由文件或设备去找出使用该文件或设备的进程

lsof            查询某个进程打开或使用的文件与设备

pidof         查询某一进程对应的PID


你可能感兴趣的:(Linux学习笔记(四)——Linux用户管理)