计算机基本知识之linux系统管理

Posted mrmeng123

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了计算机基本知识之linux系统管理相关的知识,希望对你有一定的参考价值。

本章涉及用户权限管理,NFS共享文件,ldap认证。概念要搞清楚
 
 
基本权限的类别
? 访问方式(权限)                               
– 读取:允许查看内容-read   r
– 写入:允许修改内容-write    w
– 可执行:允许运行和切换-execute  x
   对文本文件:
       r: cat  head  tail  less
       w: vim   >  >>
       x: Shell脚本编程

? 权限适用对象(归属)
– 所有者:拥有此文件/目录的用户-user  u
– 所属组:拥有此文件/目录的组-group    g
– 其他用户:除所有者、所属组以外的用户-other  o

查看权限
? 使用 ls -l 命令
– ls -ld 文件或目录...
   以 - 开头 : 文本文件
   以 d 开头 : 目录
   以 l 开头 : 快捷方式
[[email protected] ~]# ls -l  /etc/passwd
[[email protected] ~]# ls -ld /etc/
[[email protected] ~]# ls -ld /tmp/
[[email protected] ~]# ls -l  /etc/shadow
[[email protected] ~]# ls -ld /home/student
设置基本权限
? 使用 chmod 命令
chmod [-R] 归属关系+-=权限类别   文档...
        [-R]:递归修改权限
[[email protected] ~]# mkdir /nsd01
[[email protected] ~]# ls -ld /nsd01
[[email protected] ~]# chmod u-w /nsd01
[[email protected] ~]# ls -ld /nsd01
[[email protected] ~]# chmod g+w /nsd01
[[email protected] ~]# ls -ld /nsd01
[[email protected] ~]# chmod o=--- /nsd01
[[email protected] ~]# ls -ld /nsd01
[[email protected] ~]# chmod u=rwx,g=rwx,o=rx /nsd01
[[email protected] ~]# ls -ld /nsd01
[[email protected] ~]# chmod ugo=rwx /nsd01
[[email protected] ~]# ls -ld /nsd01
[[email protected] ~]# chmod o-w /nsd01
[[email protected] ~]# ls -ld /nsd01
##################################################
如何判断用户权限:                          匹配及停止
   1.首先判断用户对文档的身份          所有者>所属组>其他人
   2.查看相应身份权限位置的划分

权限不足:Permission denied
目录的 r 权限:能够 ls 浏览此目录内容
目录的 w 权限:能够执行 rm/mv/cp/mkdir/touch/等更改目录内容的操作
目录的 x 权限:能够 cd 切换到此目录
############################################### 
以root用户新建/nsddir/目录,在此目录下新建readme.txt文件
并进一步完成下列操作
 1)使用户lisi能够在此目录下创建子目录   切换用户  su  -  lisi
     chmod o+w  /nsddir/
 2)使用户lisi不能够在此目录下创建子目录
     chmod o-w  /nsddir/
 3)使用户lisi能够修改readme.txt文件
     chmod o+w  /nsddir/readme.txt
 4)调整此目录的权限,使所有用户都不能cd进入此目录
     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] 属主:属组 文档...
[[email protected] ~]# useradd harry
[[email protected] ~]# groupadd tarena
[[email protected] ~]# mkdir /nsd03
[[email protected] ~]# ls -ld /nsd03
[[email protected] ~]# chown harry:tarena /nsd03
[[email protected] ~]# ls -ld /nsd03/
[[email protected] ~]# chown lisi /nsd03
[[email protected] ~]# ls -ld /nsd03
[[email protected] ~]# chown :root /nsd03
[[email protected] ~]# ls -ld /nsd03

###############################################
利用root用户新建/nsd06目录,并进一步完成下列操作
1)将属主设为gelin01,属组设为tarena组
[[email protected] /]# useradd gelin01
[[email protected] /]# groupadd tarena
[[email protected] /]# chown gelin01:tarena  /nsd06
2)使用户gelin01对此目录具有rwx权限
      除属主与属组之外的人,对此目录无任何权限
[[email protected] /]# chmod o=--- /nsd06
3)使用户gelin02能进入、查看此目录
[[email protected] /]# gpasswd -a  gelin02  tarena
4)将gelin01加入tarena组, 将nsd06目录的权限设为rw-r-x---
      再测试gelin01用户能否进入此目录
[[email protected] /]# chmod u=rw,g=rx /nsd06
#################################################
附加权限(特殊权限)
Set GID
? 附加在属组的 x 位上
– 属组的权限标识会变为 s
– 适用于目录,Set GID可以使目录下新增的文档自动设
置与父目录相同的属组
– 自动继承所属组身份
[[email protected] ~]# mkdir /nsd07
[[email protected] ~]# ls -ld /nsd07
[[email protected] ~]# chown :tarena /nsd07  #修改所属组
[[email protected] ~]# ls -ld /nsd07
[[email protected] ~]# mkdir /nsd07/test
[[email protected] ~]# ls -ld /nsd07/test
[[email protected] ~]# ls -ld /nsd07
[[email protected] ~]# chmod g+s /nsd07 #赋予Set Gid特殊权限
[[email protected] ~]# ls -ld /nsd07
[[email protected] ~]# mkdir /nsd07/abc
[[email protected] ~]# ls -ld /nsd07/abc
[[email protected] ~]# touch /nsd07/1.txt
[[email protected] ~]# ls -l /nsd07/1.txt
[[email protected] ~]# ls -ld /nsd07/test
##############################################
  drwxr-s---. 2  root  caiwu   /nsd08
  groupadd   caiwu
#################################################
acl策略的作用                        
? 文档归属的局限性
– 任何人只属于三种角色:属主、属组、其他人
– 无法实现更精细的控制
? acl访问策略
– 能够对个别用户、个别组设置独立的权限
– 大多数挂载的EXT3/4、XFS文件系统默认已支持
 
 ]# mkdir /nsd08
 ]# chmod o=--- /nsd08
 ]# ls -ld /nsd08
 ]# su - lisi
 ]$ cd /nsd08
-bash: cd: /nsd08: Permission denied
 ]$ exit
 ]# setfacl -m  u:lisi:rx /nsd08  #设置lisi单独ACL权限
 ]# getfacl /nsd08                #专用于查看ACL权限
 ]# su - lisi
 ]$ cd /nsd08
 ]$ pwd
 ]$ exit
 
? 使用 getfacl、setfacl 命令
– getfacl 文档...
– setfacl [-R] -m u:用户名:权限类别   文档...
– setfacl [-R] -m g:组名:权限类别   文档...
– setfacl [-R] -x u:用户名  文档...   #删除指定ACL
– setfacl [-R] -b 文档...                   #删除所有ACL

 ]# mkdir /nsd10
 ]# setfacl -m u:lisi:rx   /nsd10
 ]# setfacl -m u:dc:rwx   /nsd10
 ]# setfacl -m u:zhangsan:rx  /nsd10
 ]# setfacl -m u:harry:rwx  /nsd10
 ]# getfacl /nsd10
 ]# setfacl -x u:lisi  /nsd10    #删除lisi的ACL
 ]# getfacl /nsd10
 ]# setfacl -x u:harry  /nsd10   #删除harry的ACL
 ]# getfacl /nsd10
 ]# setfacl -b  /nsd10
 ]# getfacl  /nsd10
#################################################
[[email protected] /]# mkdir /public
[r[email protected] /]# chmod ugo=rwx /public
[[email protected] /]# ls -ld /public
为/public添加黑名单,阻止用户harry访问
[[email protected] /]# setfacl -m u:harry:--- /public/
[[email protected] /]# getfacl /public/
#################################################
实现用户zhangsan能够读取/etc/shadow文件内容,您有几种方法?
     1.其他人权限    chmod  o+r /etc/shadow
     2.所属组权限    gpasswd  -a  zhangsan   所属组
               chmod  g+r /etc/shadow
     3.所有者权限    chown zhangsan /etc/shadow
               chmod  u+r /etc/shadow
     4.设置ACL权限  setfacl -m u:zhangsan:r /etc/shadow
################################################
使用LDAP认证
       作用:网络用户认证,用户集中管理
 
       网络用户信息:LDAP服务器提供
       本地用户信息:/etc/passwd   /etc/shadow提供

    LDAP服务器:虚拟机classroom
    LDAP客户端:虚拟机server    
        1.安装软件包sssd,与LDAP服务器沟通的软件
    [[email protected] /]# yum -y install sssd
        2.安装软件包authconfig-gtk,图形配置sssd工具
    [[email protected] /]# yum -y install authconfig-gtk
        3.运行图形配置工具
    [[email protected] ~]# ssh -X [email protected]
    [[email protected] ~]# authconfig-gtk
        选择LDAP
      dc=example,dc=com             #指定服务端域名
      classroom.example.com         #指定服务端主机名
       勾选TLS加密
       使用证书加密:
     http://classroom.example.com/pub/example-ca.crt
       选择LDAP密码   
        4.重起服务验证                              
      ]# systemctl restart sssd  
      ]# systemctl enable sssd    #设置开机自启动
      ]# grep  ldapuser0  /etc/passwd
      ]# id   ldapuser0
#################################################
家目录漫游

什么是NFS共享
? Network File System,网络文件系统
由NFS服务器将指定的文件夹共享给客户机
– 客户机将此共享目录 mount 到本地目录,访问此共享
资源就像访问本地目录一样方便
– 类似于 EXT4、XFS等类型,只不过资源在网上
   NFS服务器:虚拟机classroom
      客户端:虚拟机server
    1.查看classroom共享
[[email protected] ~]# showmount -e classroom.example.com
Export list for classroom.example.com:
/home/guests  172.25.0.0/255.255.0.0
  共享路径              谁可以访问共享
[[email protected] ~]# ifconfig | head -2
   2.挂载classroom的共享
 ]# mkdir /test
 ]# mount classroom.example.com:/home/guests  /test
 ]# ls /test
 ]# su - ldapuser0
 su: 警告:无法更改到 /home/guests/ldapuser0 目录: 没有那个文件或目录
mkdir: cannot create directory ‘/home/guests‘: Permission denied
-bash-4.2$ exit
  通过报错显示,家目录在/home/guests
[[email protected] ~]# mkdir /home/guests
[[email protected] ~]# umount /test
[[email protected] ~]# mount classroom.example.com:/home/guests/  /home/guests/
[[email protected] ~]# ls /home/guests/
[[email protected] ~]# su - ldapuser0
#################################################













































































































































































以上是关于计算机基本知识之linux系统管理的主要内容,如果未能解决你的问题,请参考以下文章

VFS之基本数据结构

Linux基础之简史了解

python之Linux基础

Linux学习笔记之Linux相关知识

Linux系统之终端管理命令的基本使用

Linux操作系统命令语言之硬盘管理总结——储存架构fdiskmkfs