初学Linux——Day6——权限

基本权限的类别
 访问方式(权限)
  读取:允许查看内容-read   r
  写入:允许修改内容-write  w
  可执行:允许运行和切换-execute   x

   对于文本文件
        r:cat  less  head  tail
        w:vim   >   >>
        x:Shell脚本  可以运行

   对于目录
        r:能够 ls 浏览此目录内容
        w:能够执行 rm/mv/cp/mkdir/touch/ 等更改目录内容的操作
        x:能够 cd 切换到此目录

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


查看权限

  使用 ls -l 命令
    ls -ld 文件或目录...

    开头 d 为目录
    开头 - 为文本文件
    开头l 为快捷方式

设置基本权限
  使用 chmod 命令
  chmod [-R] [归属关系][+-=][权限类别]   文档...
       [-R]:递归设置

设置文档归属
  使用 chown 命令
  chown [-R] 属主 文档...
  chown [-R] :属组 文档...
  chown [-R] 属主:属组 文档...
      [-R]:递归设置


Linux中如何判断用户权限:        
   1.判断用户的角色                 
     顺序:所有者>acl权限>所属组>其他人

   2.查看相应权限位置的权限设置

 Permission denied : 权限不足
 command not found: 命令没有找到


 附加权限(特殊权限)

Set GID
  附加在属组的 x 位上
  属组的权限标识会变为 s
  适用于目录,Set GID可以使目录下新增的文档自动设置与父目录相同的属组
  让新增的子文档,自动继承父目录的所属组
  若原来有x则是(小写)s   若没有x则是(大写)S


acl策略的作用
  文档归属的局限性
  任何人只属于三种角色:属主、属组、其他人
  无法实现更精细的控制

  acl访问策略
  能够对个别用户、个别组设置独立的权限
  大多数挂载的EXT3/4、XFS文件系统默认已支持

设置acl访问控制策略
  使用 getfacl、setfacl 命令
  getfacl 文档...
  setfacl [-R] -m u:用户名:权限类别 文档...
  setfacl [-R] -m g:组名:权限类别 文档...

  setfacl [-R] -x u:用户名   文档..     #清除指定的ACL策略
  setfacl [-R] -b 文档...              #清空所有ACL策略


权限 注意事项:
  0.最基本也是最容易混淆的就是文件和目录的wx权限的意义不同,需要认真理解。

  1.目录的w权限是针对目录的子目录和子文件

  2.如果没有父目录的x权限,下面所有的权限都没有意义,对其子目录或子文件的所有操作都无法完成(即使有子目录或子文件的操作权限)

  3.如果父目录只有x权限没有r权限,说明你只能进入并按照其子目录或子文件的权限完成相应操作,却不能使用ls查看父目录下的信息
  [root@server /]# ls -ld yzy/    #设置目录对其他人只有x权限
  dr-xr----x. 2 root root 16 Aug  7 11:12 yzy/
  [root@server /]# ls -ld yzy/txt #设置文件对其他人有读写权限
  -r-x---rw-. 1 root root 20 Aug  7 11:12 yzy/txt

  [yzy@server /]$ cd yzy/       #可以进入目录
  [yzy@server yzy]$ ls          #不能读目录信息
  ls: cannot open directory .: Permission denied
  [yzy@server yzy]$ echo 123 >> txt  #可以修改文件
  [yzy@server yzy]$ vim txt     #可以查看

  4.权限修改后文件的权限是即时生效,但是用户加入组后权限不会立刻生效,需要用户注销后再登陆,以实现刷新用户加入组的信息。

  5.每个用户对一个文件或目录只会是一个身份角色,所有者、acl特殊权限、所属组、其他人 按顺序判断,只会成为其中一个身份。


使用LDAP认证

  实现网络用户:用户集中管理,用户由LDAP服务器创建
      本地用户:本地机器创建,只能用于本地登陆

  网络用户:用户名、密码信息存储在 LDAP 服务端

客户端:

  1.安装软件包sssd,专用于与LDAP服务端沟通的软件
   yum  -y  install  sssd

  2.图形的工具authconfig-gtk ,设置sssd,指定LDAP服务端位置
   yum  -y  install  authconfig-gtk

  3.重起sssd
   systemctl restart sssd
   systemctl enable sssd
  
  如果不用图形工具来完成sssd服务,可以通过修改配置文件,把第二步修改为下面

yum install -y openldap-clients
echo "TLS_CACERT /etc/openldap/cacerts/example-ca.crt
      TLS_REQCERT never
      URI ldap://classroom.example.com/
      BASE dc=example,dc=com" >> /etc/openldap/ldap.conf

下载ldap服务器的加解密文件
mkdir /etc/openldap/cacerts
cd /etc/openldap/cacerts
wget http://classroom.example.com/pub/example-ca.crt

然后在 /etc/sssd  下 写一个文件 sssd.conf

[domain/default]

autofs_provider = ldap
cache_credentials = True
krb5_realm = #
ldap_search_base = dc=example,dc=com
id_provider = ldap
auth_provider = ldap
chpass_provider = ldap
ldap_uri = ldap://IP address
ldap_id_use_start_tls = True
ldap_tls_cacertdir = /etc/openldap/cacerts/
ldap_tls_cacert = /etc/openldap/cacerts/example-ca.crt
ldap_tls_reqcert=never
[sssd]
services = nss, pam, autofs
config_file_version = 2

domains = default
[nss]

filter_users=root
filter_groupss=root
[pam]

[sudo]

[autofs]

[ssh]

 


家目录漫游

 NFS共享
  Network File System,网络文件系统
  由NFS服务器将指定的文件夹共享给客户机,客户机将此共享目录 mount 到本地目录,访问此共享资源就像访问本地目录一样方便,类似于 EXT4、XFS等类型,只不过资源在网上

  客户端:虚拟机Server0访问共享
  1.查看服务端有哪些共享?
    showmount  -e  ip
  2.访问共享
    mount ip:/刚刚查看路径   /路径


修改用户家目录并登陆

    为了测试,创建一个用户
    useradd harry

  1.命令修改用户的家目录
    usermod -d /abc  harry

  2.将原家目录的所有数据复制到新目录中
    \cp -r /home/harry/  /abc

  3.把新家目录进行赋权
    chown -R harry:harry /abc

  4.登陆
    su - harry

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值