9. linux命令-用户、权限管理
用户是Unix/Linux系统工作中重要的一环,用户管理包括用户与组账号的管理。
在Unix/Linux系统中,不论是由本机或是远程登录系统,每个系统都必须拥有一个账号,并且对于不同的系统资源拥有不同的使用权限。
Unix/Linux系统中的root账号通常用于系统的维护和管理,它对Unix/Linux操作系统的所有部分具有不受限制的访问权限。
在Unix/Linux安装的过程中,系统会自动创建许多用户账号,而这些默认的用户就称为“标准用户”。
在大多数版本的Unix/Linux中,都不推荐直接使用root账号登录系统。
9.1 whoami
whoami该命令用户查看当前系统当前账号的用户名。可通过cat /etc/passwd查看系统用户信息。
由于系统管理员通常需要使用多种身份登录系统,例如通常使用普通用户登录系统,然后再以su命令切换到root身份对传统进行管理。这时候就可以使用whoami来查看当前用户的身份
9.2查看登录用户:who
who命令用于查看当前所有登录系统的用户信息。
-m或am I只显示运行who命令的用户名、登录终端和登陆时间。
-q或-count只显示用户登录的账号和登录用户的数量
-u或-heading显示列标题
9.3退出登录账户:exit
如果是图形界面,退出当前终端;
如果是使用ssh远程登录,退出登陆账户;
如果是切换后的登陆用户,退出则返回上一个登陆账号。
9.4添加用户账号useradd
在Unix/Linux中添加用户账号可以使用adduser或useradd命令,因为adduser命令是指向useradd命令的一个链接,因此,这两个命令的使用格式完全一样。
useradd命令的使用格式如下:useradd [参数]新建用户账号。
-d指定用户登录系统时的主目录,如果不使用该参数,系统自动在/home目录下建立与用户同名目录为主目录。
-m自动建立目录
-g指定组名称
相关说明:
·Linux每个用户都要有一个主目录,主目录就是第一次登陆系统,用户的默认当前目录(/home/用户);
·每一个用户必须有一个主目录,所以用useradd创建用户的时候,一定给用户指定一个主目录;
·用户的主目录一般要放到根目录的home目录下,用户的主目录和用户名是相同的;
·如果创建用户的时候,不指定组名,那么系统会自动创建一个和用户名一样的组名。
9.5设置用户密码:passwd
在Unix/Linux中,超级用户可以使用passwd命令为普通用户设置或修改用户口令。用户也可以直接使用该命令来修改自己的口令,而无需在命令后面使用用户名。
9.6删除用户:userdel
命令:
Userdel abc(用户名)删除用户abc但不会自动删除用户的主目录
Userdel -r abc(用户名)删除用户,同时删除用户主目录
9.7切换用户: su
可以通过su命令切换用户,su后面可以加“-”。su和su –命令不同之处在于,su -切换到对应的用户时会将当前的工作目录自动转换到切换后的用户主目录.
注意:如果是ubuntu平台,需要在命令前加“sudo”,如果在某些操作需要管理员才能操作,ubuntu无需切换到root用户即可操作,只需加“sudo”即可。sudo是ubuntu平台下允许系统管理员让普通用户执行一些或者全部的root命令的一个工具,减少了root用户的登陆和管理时间,提高了安全性。
9.8查看有哪些用户组
方法一;cat /etc/group
方法二:groupmod +三次tab键
9.8 添加、删除组账号
groupadd新建组账号groupdel组账号cat /etc/group查看用户组
9.9 修改用户所在组
使用方法:usermod -g用户组 用户名
9.10 位新建的用户添加sudo权限
新创建的用户,默认不能sudo,需要进行以下操作
sudo usermod -a -G adm用户名
sudo usermod -a -G sudo用户名
9.11 usermod-g与-G的区别
-g用来制定这个用户默认的用户组
-G一般配合'-a'来完成向其它组添加
9.12修改文件权限chmod
chmod修改文件权限有两种使用格式:字母法与数字法。
字母法:chmod u/g/o/a +/-/= rwx文件
u是文件的所有者user
g是group表示与文件所有者属于同一组即用户组
o是other表示其他以外的人
a表示这三者皆是
9.13修改文件所有者:chown
chown用户名 文件名
9.14修改文件所属组:chgrp
Chgrp用户名 文件名
10 Linux命令-系统管理
10.1查看当前日历cal
cal命令用于查看当前日历,-y显示整年日历:
10.2显示或设置时间:date
设置时间格式(需要管理员权限):
date [MMDDhhmm[[CC]YY][.ss]] +format
CC为年前两位yy为年的后两位,前两位的mm为月,后两位的mm为分钟,dd为天,hh为小时,ss为秒。如:date 010203042016.55。
10.3查看进程信息:ps
进程是一个具有一定独立功能的程序,它是操作系统动态执行的基本单元。
ps命令可以查看进程的详细状况,常用选项(选项可以不加“-”)如下:
10.4动态显示进程:top
top命令用来动态显示运行中的进程。top命令能够在运行后,在指定的时间间隔更新显示信息。可以在使用top命令时加上-d来指定显示信息更新的时间间隔。
10.5终止进程:kil
kill命令指定进程号的进程,需要配合ps使用。
使用格式:
kill [-signal] pid
信号值从0到15,其中9为绝对终止,可以处理一般信号无法终止的进程。
有些进程不能直接杀死,这时候我们需要加一个参数“ -9 ”,“ -9 ”代表强制结束
10.6关机重启reboot、shutdown、init
10.7检测磁盘空间:df
df命令用于检测文件系统的磁盘空间占用和空余情况,可以显示所有文件系统对节点和磁盘块的使用情况
10.8检测目录所占磁盘空间:du
du命令用于统计目录或文件所占磁盘空间的大小,该命令的执行结果与df类似,du更侧重于磁盘的使用状况。
du命令的使用格式如下:du [选项]目录或文件名
10.9查看或配置网卡信息:ifconfig
10.10测试远程主机连通性ping
10.11 apt-get
在Ubuntu下,apt-get近乎是最常用的shell命令之一了,因为他是Ubuntu通过新立得安装软件的常用工具命令。
本文列举了常用的APT命令参数:
apt-cache search package搜索软件包
apt-cache show package获取包的相关信息,如说明、大小、版本等
sudo apt-get install package安装包
sudo apt-get install package --reinstall重新安装包
sudo apt-get -f install修复安装
sudo apt-get remove package删除包
sudo apt-get remove package --purge删除包,包括配置文件等
sudo apt-get update更新源
sudo apt-get upgrade更新已安装的包
sudo apt-get dist-upgrade升级系统
apt-cache depends package了解使用该包依赖那些包
apt-cache rdepends package查看该包被哪些包依赖
sudo apt-get build-dep package安装相关的编译环境
apt-get source package下载该包的源代码
sudo apt-get clean && sudo apt-get autoclean清理无用的包
sudo apt-get check检查是否有损坏的依赖