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执行的相关参数,查看此文件,可以了解系统是如何启动的。
13. fuser 由文件或设备去找出使用该文件或设备的进程
lsof 查询某个进程打开或使用的文件与设备
pidof 查询某一进程对应的PID