Linux下的基础命令介绍(六)

一.权限管理

 1.三类用户:

     u: 属主

     g: 属组

     o: 其它用户

     a: 所有用户

 2.chown---修改文件的所有者

     用法: chown 用户名 文件名或目录名...,修改目录时默认只改变目录的所属者

         -R:递归修改目录下的文件的所属者

         --reference=/path/to/somefile file,... 参考某个文件的所有者,修改后者与其一样

     chown username:groupname file,.... 同时修改所属者 所属组

         -R:递归修改目录下的文件的所属者 所属组

 3.chgrp---修改文件的所属组

     用法: chgrp 组名 文件名或目录名...,修改目录时默认只改变目录的所属组

         -R:递归修改目录下的文件的所属组

         --reference=/path/to/somefile file,... 参考某个文件的所属组,修改后者与其一样

  4.chmod---修改文件的权限

     用法: chmod 权限值 文件名或目录名..., 如果位数不过 前面补0

         -R:递归修改目录下的文件的权限

         --reference=/path/to/somefile file,... 参考某个文件的权限,修改后者与其一样

     chmod u+r 文件 :为文件所属者添加读权限

     chmod u-x 文件 : 为文件所属者删除执行权限

     chmod u=rx 文件 : 为文件赋予读和执行权限

     chmod ug=rw 文件 : 为文件所属者和所属组赋予读和执行权限

     chmod u=x,g=r 文件 : 为文件的所属者赋予执行权限,所属组赋予都权限

     chmod 777 文件 : 修改文件的所属者,所属组,其他人的权限

     chmod +x 文件 : 为文件的三类用户添加执行权限 a 省略了


练习:

1、新建一个没有家目录的用户openstack;

# useradd -M openstack

2、复制/etc/skel为/home/openstack;

# cp -r /etc/skel /home/openstack

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

# chown -R /openstack:openstack /home/openstack

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

# chmod -R go= /home/openstack


问题:如何不通过useradd命令添加用户,手动添加用户luochen 基本组luochen (gid 1000) 附加组test

    1.在/etc/group 文件末尾加上一行

     luochen:x:1000:

     在test组最后一个字段加上luochen

    2.在/etc/passwd 文件末尾加上一行

     luochen:x:1000:1000:luochen:/home/luochen:/bin/bash

    3.在/etc/shadow 文件末尾加上一行

     luochen:!!:16539:0:99999:7:::

    4.复制家目录

     cp -r /etc/skel /home/luoche

    5.指定文件和目录所属者 所属组

     chown -R luochen.luochen /home/luochen/

    6.删除所属组和其他人权限

     chmod -R go= /home/luochen/

    7.生成密码

     openssl passwd -1 -salt ‘luocheng‘ ---1位采用md5加密方式 -salt 为加密时的杂质8位

     复制生成的密码到/etc/shadow 文件中

  5.umask命令---遮罩码

   决定用户创建文件或目录时的默认权限 在计算时如果有执行权限那么系统会自动加1 一定不会让文件有执行的权限

   直接用umask 可以查看当前的遮罩码

   用umask 0xxx来设置遮罩码


站在用户登录的角度来说,SHELL的类型:

   登录式shell:

    正常通常某终端登录

    su - USERNAME 

    su -l USERNAME


   非登录式shell:

    su USERNAME

    图形终端下打开命令窗口

    自动执行的shell脚本


   bash的配置文件:

        全局配置

        /etc/profile, /etc/profile.d/*.sh, /etc/bashrc

        个人配置

        ~/.bash_profile, ~/.bashrc

        profile类的文件:

            设定环境变量

            运行命令或脚本

        bashrc类的文件:

            设定本地变量

            定义命令别名

登录式shell如何读取配置文件?

 /etc/profile --> /etc/profile.d/*.sh --> ~/.bash_profile --> ~/.bashrc --> /etc/bashrc


非登录式shell如何配置文件?

 ~/.bashrc --> /etc/basrc --> /etc/profile.d/*.sh


su命令的完全切换和半切换在于是否读取切换用户的环境配置


命令别名跨shell使用

  在家目录下的.bashrc文件中加上 alias cls=clear 保存退出 再登录就能使用

要在用户登录时显示一些信息可以在.bash_profile 文件中写脚本

 




   

 


    


本文出自 “珞辰的博客” 博客,请务必保留此出处http://luochen2015.blog.51cto.com/9772274/1634856

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。