且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

linux系统学习第五天

更新时间:2022-09-27 11:33:21

在真机上操作,还原环境
[root@room9pc14 桌面]# rht-vmctl reset clas-s-room
[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服务器: clas-s-room
 
    客户端:指定服务端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服务器: clas-s-room.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
 

#####################################################




      本文转自云计算王森 51CTO博客,原文链接:http://blog.51cto.com/13426941/2044601,如需转载请自行联系原作者