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