热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

linux系统学习第五天

2019独角兽企业重金招聘Python工程师标准在真机上操作,还原环境[rootroom9pc14桌面]#rht-vmctlresetclassroom[roo

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

 
在真机上操作,还原环境
[root@room9pc14 桌面]# rht-vmctl reset classroom
[root@room9pc14 桌面]# rht-vmctl reset server
[root@room9pc14 桌面]# rht-vmctl reset desktop
 
###################################################
为虚拟机 server 配置以下静态地址参数
    – 主机名:server0.example.com
 
    – IP地址:172.25.0.11
    – 子网掩码:255.255.255.0
    – 默认网关:172.25.0.254
 
    – DNS服务器:172.25.254.254
 
# cat /etc/sysconfig/network-scripts/ifcfg-eth0
# cat /etc/resolv.conf
 
测试DNS解析
[root@server0 ~]# nslookup server0.example.com   
 
###################################################
 cron计划任务
 
系统服务:crond
日志文件:/var/log/crond
 
 
• 使用 crontab 命令
– 编辑:crontab -e [-u 用户名]
– 查看:crontab -l [-u 用户名]
– 清除:crontab -r [-u 用户名]
 
1.查看服务状态
[root@server0 ~]# systemctl status crond
 
2.书写计划任务,   
   *    *    *    *    *
   分  时  日  月  周
[root@server0 ~]# useradd natasha
[root@server0 ~]# which ifconfig    #查询命令所对应的程序在那里
[root@server0 ~]# which date
[root@server0 ~]# crontab -e -u natasha
[root@server0 ~]# crontab -l -u natasha
 
 */1 * * * * /usr/bin/date  >> /home/natasha/abc.txt
 
[root@server0 ~]#  watch -n 1 cat /home/natasha/abc.txt
 
#######################################################
基本权限的类别
• 访问方式(权限)
    – 读取:允许查看内容-read    r
    – 写入:允许修改内容-write     w
    – 可执行:允许运行和切换-execute  x
 
 对于文本文件:
            r: cat  head tail less
            w:  vim
            x:  运行
 
• 权限适用对象(归属)
    – 所有者:拥有此文件/目录的用户-user     u
    – 所属组:拥有此文件/目录的组-group       g
    – 其他用户:除所有者、所属组以外的用户-other  o
 
 
 
 
权限位 硬连接数 属主 属组 大小 最后修改时间 文件/目录名称
 
[root@server0 ~]# ls -l /etc/passwd
[root@server0 ~]# ls -ld /etc/
 
[root@server0 ~]# ls -ld /root
 
[root@server0 ~]# ls -ld /home/student
 
[root@server0 ~]# ls -ld /tmp
 
  以“-”开头: 文件
  以“l”开头: 快捷方式
  以“d”开头: 目录
 
• 使用 chmod 命令
– chmod [-R] 归属关系+-=权限类别 文档...
        [-R] 递归赋予权限
 
[root@server0 ~]# mkdir /nsd01
[root@server0 ~]# ls -ld /nsd01
 
[root@server0 ~]# chmod u-x /nsd01
[root@server0 ~]# ls -ld /nsd01
 
[root@server0 ~]# chmod g+w /nsd01
[root@server0 ~]# ls -ld /nsd01
 
[root@server0 ~]# chmod o=rwx /nsd01
[root@server0 ~]# ls -ld /nsd01
 
[root@server0 ~]# chmod u=rwx,g=rx,o=r /nsd01
[root@server0 ~]# ls -ld /nsd01
 
################################################
  如何判断用户具备权限
     1.判断用户所属的身份         所有者>所属组>其他人   匹配及停止     
     2.看相应权限位的权限划分
 
    
 目录的 r 权限:能够 ls 浏览此目录内容
 目录的 w 权限:能够执行 rm/mv/cp/mkdir/touch/... 等更改目录内容的操作
 目录的 x 权限:能够 cd 切换到此目录
 
####################################################
以root用户新建/nsddir/目录,在此目录下新建readme.txt文件,并进一步完成下列操作
1)使用户zhangsan能够在此目录下创建子目录  切换用户  su - zhangsan
    chmod o+w  /nsddir/
 
2)使用户zhangsan不能够在此目录下创建子目录
    chmod o-w  /nsddir/
 
3)使用户zhangsan能够修改readme.txt文件
    chmod o+w  /nsddir/readme.txt
 
4)调整此目录的权限,使所有用户都不能进入此目录
   chmod u-x,g-x,o-x  /nsddir/
 
5)为此目录及其下所有文档设置权限 rwxr-x---
   chmod -R  u=rwx,g=rx,o=---  /nsddir/
 
###############################################
 
设置文档归属
• 使用 chown 命令
– chown [-R] 属主 文档...
– chown [-R] :属组 文档...
– chown [-R] 属主:属组 文档...
 
[root@server0 ~]# mkdir /nsd05
[root@server0 ~]# ls -ld /nsd05
[root@server0 ~]# groupadd tedu
[root@server0 ~]# chown dc:tedu /nsd05
[root@server0 ~]# ls -ld /nsd05
 
[root@server0 ~]# chown student /nsd05
[root@server0 ~]# ls -ld /nsd05
 
[root@server0 ~]# chown :root /nsd05/
[root@server0 ~]# ls -ld /nsd05/
 
####################################################
 特殊权限(附加权限)
 
Set UID
 
• 附加在属主的 x 位上
– 属主的权限标识会变为 s
– 适用于可执行文件,Set UID可以让使用者具有文件属
主的身份及部分权限(传递所有者身份)
 
 
Set GID
• 附加在属组的 x 位上
– 属组的权限标识会变为 s
– 适用于可执行文件,功能与Set UID类似(传递所属组身份)
 
– 适用于目录,Set GID可以使目录下新增的文档自动设
置与父目录相同的属组
   
[root@server0 ~]# mkdir /tarena
[root@server0 ~]# ls -ld /tarena
 
[root@server0 ~]# chown :tedu /tarena
[root@server0 ~]# ls -ld /tarena
 
[root@server0 ~]# mkdir /tarena/nsd01
[root@server0 ~]# ls -ld /tarena/nsd01
 
[root@server0 ~]# chmod g+s  /tarena/
[root@server0 ~]# ls -ld  /tarena/
 
[root@server0 ~]# mkdir   /tarena/nsd02
[root@server0 ~]# ls -ld  /tarena/nsd02
[root@server0 ~]# touch  /tarena/nsd02/abc.txt
[root@server0 ~]# ls -l  /tarena/nsd02/abc.txt
#################################################
 
 
Sticky Bit
• 附加在其他人的 x 位上
– 其他人的权限标识会变为 t
– 适用于开放 w 权限的目录,可以阻止用户滥用 w 写入
权限(禁止操作别人的文档)
 
[root@server0 ~]# mkdir /public
[root@server0 ~]# chmod u=rwx,g=rwx,o=rwx /public
[root@server0 ~]# ls -ld /public
 
[root@server0 ~]# chmod o+t /public
[root@server0 ~]# ls -ld /public
 
###################################################
 
acl策略的作用
 
• 文档归属的局限性
– 任何人只属于三种角色:属主、属组、其他人
– 无法实现更精细的控制
 
• acl访问策略
– 能够对个别用户、个别组设置独立的权限
– 大多数挂载的EXT3/4、XFS文件系统默认已支持
 
 
[root@server0 ~]# mkdir /test
[root@server0 ~]# ls -ld /test
[root@server0 ~]# chmod o=--- /test
[root@server0 ~]# ls -ld /test
[root@server0 ~]# su - zhangsan
 
[zhangsan@server0 ~]$ cd /test/
-bash: cd: /test/: Permission denied
[zhangsan@server0 ~]$ exit
logout
 
[root@server0 ~]# setfacl -m u:zhangsan:rx /test/
[root@server0 ~]# getfacl /test/
[root@server0 ~]# su - zhangsan
[zhangsan@server0 ~]$ cd /test/
[zhangsan@server0 test]$ pwd
[zhangsan@server0 test]$ exit
 
 
• 使用 getfacl、setfacl 命令
– getfacl 文档...
– setfacl  -m u:用户名:权限类别 文档...
– setfacl  -m g:组名:权限类别 文档...
– setfacl  -x u:用户名     文档...         #删除指定的ACL策略     
– setfacl  -b 文档...                             #清空ACL策略          
 
[root@server0 ~]# getfacl /test/
[root@server0 ~]# setfacl -m u:dc:rwx /test/
[root@server0 ~]# setfacl -m u:natasha:rx /test/
[root@server0 ~]# getfacl /test/
 
[root@server0 ~]# setfacl -x u:dc /test/  #删除指定的ACL
[root@server0 ~]# getfacl /test/
 
[root@server0 ~]# setfacl -b /test/     #清空所有的ACL
[root@server0 ~]# getfacl /test/
 
 
 
##################################################
[root@server0 ~]# mkdir /nsd20
[root@server0 ~]# chmod u=rwx,g=rwx,o=rwx /nsd20
[root@server0 ~]# ls -ld /nsd20
drwxrwxrwx. 2 root root 6 10月 30 15:49 /nsd20
[root@server0 ~]# setfacl -m u:natasha:--- /nsd20
 
###################################################
使用LDAP认证
 
       传统用户名密码:本地创建,用于本地登陆  /etc/passwd
       网络用户: 在LDAP服务器上创建,可以登陆域中每一台机器
 
  LDAP服务器: classroom
 
    客户端:指定服务端LDAP位置
     
  1.安装客户端软件
      – 软件包:
          sssd:与服务端沟通软件
 
          authconfig-gtk:图形配置sssd工具
 
[root@server0 ~]# rpm -q sssd           #验证软件包安装成功
[root@server0 ~]# rpm -q authconfig-gtk
 
  2.运行图形配置sssd工具:authconfig-gtk
[root@server0 ~]# authconfig-gtk
 
  用户账户数据库:LDAP
 LDAP搜索基础DN:dc=example,dc=com
 LDAP服务器: classroom.example.com
 
   钩选:用TLS加密连接
        指定证书加密:
           http://172.25.254.254/pub/example-ca.crt
   认证方法:LDAP密码
 
3.启动sssd服务,并设置为开机自起
[root@server0 ~]# systemctl restart sssd
[root@server0 ~]# systemctl enable sssd
4.验证
[root@server0 ~]# grep 'ldapuser0' /etc/passwd
[root@server0 ~]# id ldapuser0
 
##################################################
家目录漫游
 
• Network File System,网络文件系统
– 由NFS服务器将指定的文件夹共享给客户机
– 客户机将此共享目录 mount 到本地目录,访问此共享
资源就像访问本地目录一样方便
– 类似于 EXT4、XFS等类型,只不过资源在网上
 
 
• 查看NFS资源
[root@server0 ~]# showmount -e 172.25.254.254
 
 
• 进行挂载,将服务端NFS共享内容挂载到本地目录
[root@server0 ~]# mkdir /home/guests
 
# mount  172.25.254.254:/home/guests/    /home/guests
 
[root@server0 ~]# ls /home/guests
[root@server0 ~]# su - ldapuser0
 
#####################################################


转:https://my.oschina.net/szwangsen/blog/1560075



推荐阅读
  • 技术日志:Ansible的安装及模块管理详解 ... [详细]
  • 您的数据库配置是否安全?DBSAT工具助您一臂之力!
    本文探讨了Oracle提供的免费工具DBSAT,该工具能够有效协助用户检测和优化数据库配置的安全性。通过全面的分析和报告,DBSAT帮助用户识别潜在的安全漏洞,并提供针对性的改进建议,确保数据库系统的稳定性和安全性。 ... [详细]
  • 在开发过程中,我最初也依赖于功能全面但操作繁琐的集成开发环境(IDE),如Borland Delphi 和 Microsoft Visual Studio。然而,随着对高效开发的追求,我逐渐转向了更加轻量级和灵活的工具组合。通过 CLIfe,我构建了一个高度定制化的开发环境,不仅提高了代码编写效率,还简化了项目管理流程。这一配置结合了多种强大的命令行工具和插件,使我在日常开发中能够更加得心应手。 ... [详细]
  • 在Ubuntu系统中配置Python环境变量是确保项目顺利运行的关键步骤。本文介绍了如何将Windows上的Django项目迁移到Ubuntu,并解决因虚拟环境导致的模块缺失问题。通过详细的操作指南,帮助读者正确配置虚拟环境,确保所有第三方库都能被正确识别和使用。此外,还提供了一些实用的技巧,如如何检查环境变量配置是否正确,以及如何在多个虚拟环境之间切换。 ... [详细]
  • 分布式开源任务调度框架 TBSchedule 深度解析与应用实践
    本文深入解析了分布式开源任务调度框架 TBSchedule 的核心原理与应用场景,并通过实际案例详细介绍了其部署与使用方法。首先,从源码下载开始,详细阐述了 TBSchedule 的安装步骤和配置要点。接着,探讨了该框架在大规模分布式环境中的性能优化策略,以及如何通过灵活的任务调度机制提升系统效率。最后,结合具体实例,展示了 TBSchedule 在实际项目中的应用效果,为开发者提供了宝贵的实践经验。 ... [详细]
  • 用阿里云的免费 SSL 证书让网站从 HTTP 换成 HTTPS
    HTTP协议是不加密传输数据的,也就是用户跟你的网站之间传递数据有可能在途中被截获,破解传递的真实内容,所以使用不加密的HTTP的网站是不 ... [详细]
  • 在更换电脑后,使用 Git Bash 运行 Python 时可能会遇到找不到 Python 解释器的问题。本文详细介绍了如何在 Windows 环境下通过 Bash Shell 调用不同版本的 Python,并成功运行 SRSPlayer HTTP 服务器。具体步骤包括配置环境变量、验证 Python 版本以及启动服务器的方法。 ... [详细]
  • Amoeba 通过优化 MySQL 的读写分离功能显著提升了数据库性能。作为一款基于 MySQL 协议的代理工具,Amoeba 能够高效地处理应用程序的请求,并根据预设的规则将 SQL 请求智能地分配到不同的数据库实例,从而实现负载均衡和高可用性。该方案不仅提高了系统的并发处理能力,还有效减少了主数据库的负担,确保了数据的一致性和可靠性。 ... [详细]
  • 数字图书馆近期展出了一批精选的Linux经典著作,这些书籍虽然部分较为陈旧,但依然具有重要的参考价值。如需转载相关内容,请务必注明来源:小文论坛(http://www.xiaowenbbs.com)。 ... [详细]
  • `chkconfig` 命令主要用于管理和查询系统服务在不同运行级别中的启动状态。该命令不仅能够更新服务的启动配置,还能检查特定服务的当前状态。通过 `chkconfig`,管理员可以轻松地控制服务在系统启动时的行为,确保关键服务正常运行,同时禁用不必要的服务以提高系统性能和安全性。本文将详细介绍 `chkconfig` 的各项参数及其使用方法,帮助读者更好地理解和应用这一强大的系统管理工具。 ... [详细]
  • MySQL 8.0 MGR 自动化部署与配置:DBA 和开源工具的高效解决方案
    MySQL 8.0 MGR 自动化部署与配置:DBA 和开源工具的高效解决方案 ... [详细]
  • Linux Shell变量初探:初始值解析与使用指南
    本文探讨了Linux Shell中变量的基本概念及其在BASH中的应用。变量是用于存储可变数据的标识符,能够代表不同的值。文章详细介绍了BASH shell的主要优势,包括强大的命令编辑能力、自动补全功能、命令别名设置、作业控制以及前后台任务管理。此外,还涵盖了编程脚本编写和通配符的使用方法,为初学者提供了全面的指导。 ... [详细]
  • 本文探讨了 Kafka 集群的高效部署与优化策略。首先介绍了 Kafka 的下载与安装步骤,包括从官方网站获取最新版本的压缩包并进行解压。随后详细讨论了集群配置的最佳实践,涵盖节点选择、网络优化和性能调优等方面,旨在提升系统的稳定性和处理能力。此外,还提供了常见的故障排查方法和监控方案,帮助运维人员更好地管理和维护 Kafka 集群。 ... [详细]
  • 在项目开发过程中,掌握一些关键的Linux命令至关重要。例如,使用 `Ctrl+C` 可以立即终止当前正在执行的命令;通过 `ps -ef | grep ias` 可以查看特定服务的进程信息,包括进程ID(PID)和JVM参数(如内存分配和远程连接端口);而 `netstat -apn | more` 则用于显示网络连接状态,帮助开发者监控和调试网络服务。这些命令不仅提高了开发效率,还能有效解决运行时的各种问题。 ... [详细]
  • 如何在Linux系统中利用crontab定时执行Shell脚本任务?
    在Linux系统中,如何实现定时执行任务脚本?在服务器日常运维过程中,经常需要定期执行某些任务,例如数据库备份、日志文件切割等。通过使用crontab工具,可以轻松配置这些周期性任务,确保它们按时自动运行,提高系统管理效率和可靠性。 ... [详细]
author-avatar
Icy芸土_644
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有