Linux用户和进程管理

Linux用户和进程管理
一. 回顾操作系统结构

二.Linux中的用户

1.用户,组,权限初识

2. 用户和组

三. 详细命令讲解
总结:
/etc/passwd
字段含义-->用户名:密码:UID:GID:注释:家目录:默认SHELL
/etc/group
字段含义-->组名:密码:GID:以此组为其附加组的用户列表
/etc/shadow
字段含义-->用户名:密码:最近一次修改密码时间:最短使用期限:最长使用期限:警告时间:非活动时间:过期时间:
A.用户管理:
useradd,userdel,usermod,passwd,chsh,chfn,finger,id,chage

B.组管理
groupadd groupdel groupmod gpasswd

C.权限管理:
chown,chgrp,chmod,umask
r: 文件可看,目录可进但不能切换至子目录
w: 文件可删可编辑,对目录可在其中创建文件
x: 执行,内核,内存,进程
三类用户
u: 属主 g: 属组 o: 其他用户
1.chown
解释:改变文件属主
格式: chown USERNAME File,...
chown :GRPNAME File,...
chown USERNAME:GRPNAME File,...
chown USERNAME.GRPNAME File,...
选项: -R:递归修改
--reference=/path/to/somefile,file...:
2.chgrp
解释:改变文件数组
格式:chgrp GRPNAME FILE...
选项: -R:递归修改
--reference=/path/to/somefile,file...参考
3.chmod
解释:修改文件的权限
修改方式分类:
a.修改三类用户的权限
chmod 655 file,...
选项: -R:修改目录及其内部文件的权限
--reference=/path/to/somefile file,...: 参考
b.修改某类用户或某些用户的权限
类别:u,g,o,a
格式: chmod 用户类别=权限 file,...
chmod 用户类别+(-)权限 file,...
练习:
1.新建一个没有家目录的用户openstack

2.复制/etc/skel为/home/openstack

3.改变/home/openstack及其内部文件的属主属组均为openstack

4./home/openstack及其内部的文件,属组和其他用户没有任何访问权限

总结:手动创建账号
1.修改passwd文件,最后加一行
2.修改shadow文件,最后加一行
3.修改group文件,最后加一行
4.复制skel目录
练习:手动添加用户hive,基本组为hive(5000),附加组为mygroup
4.umask:遮罩码
实例中
root创建的 目录权限是755:777-022
文件权限是644:666-022
hive创建的 目录权限是775:777-002
文件权限是664:666-002
这个umask有关系
规定: 创建文件的权限是:666-umask
创建目录的权限是:777-umask
umask可以自定义,但是退出后重新登录会还原
shell的类型
1.登录式shell
正常通过某个终端软件登录
su - USERNAME
su -l USERNAME
2.非登录式shell
su USERNAME
图形终端下打开命令窗口
自动执行的shell脚本
插曲:bash的配置文件
1.全局配置:
/etc/profile
/etc/profile.d/*.sh
/etc/bashrc
2.个人配置
~/.bash_profile
~/.bashrc
共性文件
1.profile类的文件
a.设定环境变量
b.登录后运行命令和脚本
所有人生效:/etc/profile /etc/profile.d/*.sh
当前用户生效:~/.bash_profile
2.bashrc类的文件
a.设定本地变量
b.定义命令别名
登录式和非登录式区别
1.登录式shell如何读取配置文件
/etc/profile-->/etc/profile.d/*.sh-->~/.bash_profile-->~/.bashrc-->/etc/bashrc
2.非登录式shell如何读取配置文件
~/.bashrc-->/etc/bashrc-->/etc/profile.d/*.sh
注意:su - USERNAME 完全切换 su USERNAME 半切换
举例1:用户变量永久生效
1.修改用户~/.bashrc
2.source .bashrc
举例2:用户登录时加入欢迎信息,并显示登录时间
1.修改用户.bash_profile


Linux文件查找
1.locate
它是在全系统中查找文件,可以根据任务计划,将运行的Linux系统在晚上时候将白天生成的文件,搜集信息组建文件数据库
所以它并不是实时查询,而是模糊查询
注意:新安装的系统没有文件数据库,需要通过命令生成:updatedb
优势:查询速度快
2.find
优势:
实时查找
精确查找
支持很多的查找标准
1.根据文件名查找
2.根据文件权限查找
3.根据文件类型查找
4.基于正则表达式对文件名做匹配
......
缺点:
速度慢
格式:find 查找路径 查找标准 查找到以后的处理动作
解释:
查找路径:没有写代表是当前目录
查找标准:默认为指定目录下的所有文件
匹配标准:
-name 'FILENAME':对文件名做精确匹配
文件名通配
*:
?:
[]:
[^]:
-iname 'FILENAME':文件名匹配不区分大小写
-regex PATTERN:基于正则表达式进行文件名匹配
-user USERNAME:根据文件的属主进行查找
-group GROUPNAME:根据属组查找
-uid UID:根据UID查找
-gid GID:根据GID查找
-nouser:查找没有属主的文件
-nogroup:查找没有属组的文件
-type:根据文件类型查找
f: b: s:
d: l:
c: p:
find /dev或/etc -type b
-size:
+/-:
#k: #M: #G:
组合条件:
-a: -o: -not:
练习: 1.查找非目录内容
find /tmp -not -type d
2.在tmp目录下,不是目录,并且不能是套接字类型的文件
find /tmp -not -type d -a -not -type s
find /tmp -not \( -type d -o -type s \)
3.德.摩根定律
not (A and B) = (not A) or (not B)
not (A or B) = (not A) and (not B)
4.创建子目录hello和hi,改变hi的属主为user1,请找出属主不是user1或者类型不是目录的文件
根据文件的时间戳查找
-mtime:修改时间
-ctime:改变时间
-atime:访问时间
#:天数,距离现在正好#天访问过一次
-#:比如-5
+#:比如+5
-mmin: -cmin: -amin:
根据文件的权限查找
1.-perm MODE:
查找当前目录下文件权限是644的内容
2.-perm -MODE:
3.-perm /MODE:
匹配后的动作
-print:默认显示出来
-ls:
-ok COMMAND {} \;
\;:必须是它结尾
{}:
备注:每次执行需要确认
-exec COMMAND {} \;
查找当前目录下,内容权限包含644,之后去掉属组和其他用户的读的权限
find ./ -perm -644 -exec chmod g-r,o-r {} \;

查找当前目录下,内容权限包含020,之后将源文件名称改为其后缀是.new

找到家目录,所有以.sh结尾的文件,并且所有用户都有执行权限的文件,要求去掉其他用户的执行权限
find ./ -name "*.sh" -a -perm -111 -exec chmod o-x {} \;

练习: 1.查找/var目录下属主为root并且属组为mail的所有文件
find /var -user root -a -group mail
2.查找/usr目录下不属于root,bin,或student的文件
find /usr -not \( -user root -o -user bin -a -user student \)
3.查找/etc目录下最近一周内内容修改过且不属于root及student用户的文件
find /etc -mtime -7 -a -not \( -user root -o -user student \) 
4.查找当前系统上没有属主或属组且最近1天内曾被访问过的文件,并将其属主属组修改为root
find / \( -nouser -o -nogroup \) -a -atime -1 -exec chown root.root {} \;
5.查找/etc目录下大于1M的文件,并将其文件名写入/tmp/etc.largefiles文件中
find /etc -size +1M >> /tmp/etc.largefiles
6.查找/etc目录下所有用户都没有写权限的文件,显示出其详细信息
find /etc -not -perm /222 -ls
一、实验目的 1.掌握在Linux系统下利用命令方式实现用户和组的管理; 2.掌握利用Linux-conf进行用户和组的管理; 3.理解文件权限 4.进行系统进程管理。 二、实验内容 1. 用户管理  创建一个新用户user01,设置其主目录为/home/user01:#adduser –d /home/user01 -m user01  查看/etc/passwd文件的最后一行,看看是如何记录的。  查看文件/etc/shadow文件的最后一行,看看是如何记录的。  给用户user01设置密码:#passwd user01。  再次查看文件/etc/shadow文件的最后一行,看看有什么变化。  使用user01用户登录系统,看能否登录成功。。  锁定用户user01:#passwd -l user01。  查看文件/etc/shadow文件的最后一行,看看有什么变化。  再次使用user01用户登录系统,看能否登录成功。  解除对用户user01的锁定:#passwd -u user01  更改用户user01的帐户名为user02:#usermod –l user02 user01。  查看/etc/passwd文件的最后一行,看看有什么变化。  删除用户user02。userdel. 2. 组的管理  创建一个新组,stuff:#groupadd stuff。  查看/etc/group文件的最后一行,看看是如何设置的。  创建一个新帐户user02,并把他的起始组和附属组都设为stuff:#adduser –g stuff –G stuff user02。  查看/etc/group文件中的最后一行,看看有什么变化。  给组stuff设置组密码:#gpasswd stuff。  在组stuff中删除用户user02:#gpasswd –d user02 stuff。  再次查看/etc/group文件中的最后一行,看看有什么变化。  删除组stuff。groupdel 3. 用Linux-conf创建用户和组  进入X-Window图形界面。  打开控制面板,启动用户和组群管理子程序,在打开的界面中练习用户、组的设置。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值