权限管理
r: 对于文件,可以使用cat等命令查看内容;对于目录,可以使用ls命令
w: 对于文件,可以编辑,删除;对于目录,可以在该目录下创建文件
x:对于文件,可以执行,可提交给内核,由内核为其启动一个新的进程;对于目录,可以使用cd,ls -l命令
三类用户:
u: 属主
g:属组
o:其它用户
chown:改变文件属主(只用管理员才有权限使用)
chown USERNAME file,...
-R:修改目录及其内部文件的属主
--reference=/path/to/somefile file,...:修改file属主跟somefile一样
chown [USERNEME]:GRPNAME file,... 同时修改属主和属组
chown USERNAME.GRPNAME file,... 同时修改属主和属组
chgrp:改变文件属组
chgrp GRPNAME file,...
-R
--reference=/path/to/somefile file,...
ls -ld 只列出目录的详细信息
chmod:修改文件权限
1、修改三类用户权限
chmod MODE file,...
-R
--reference=/path/to/somefile file,...
2、修改某类用户或某些类用户权限
用户类别:u,g,o,a
chmod 用户类别=MODE file,... eg chmod g=rwx /tmp/abc chmod g,o=rw /tmp/abc
3、修改某类用户某位或某些位权限
u,g,o,a
chmod 用户类别+|-MODE file,...
练习:
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及其内部的文件,属组和其它用户没有任何访问权限
chown -R go= /home/openstack
手动添加用户hive,基本组为hive(5000),附加组为mygroup
编辑/etc/group, /etc/passwd, /etc/shadow
cp -r /etc/skel/ /home/hive
chown -R hive.hive /home/hive
chmod -R go= /home/hive
openssl passwd 生成密码串
whatis passwd
openssl passwd -1 -salt ‘123456‘ 生成有杂质的密码串
添加至/etc/shadow 即可
bc命令调用计算器
umask:遮罩码
管理员umask:022
普通用户umask:002
文件 666-umask
目录 777-umask
创建文件:666-umask
创建目录:777-umask
文件默认不能有执行选项,如果算得的结果有执行权限,则将其权限加1
umask 023
文件:666-023=643 实际644
目录:777-023=754
shell的类型(站在用户登陆的角度):
登录式shell:
正常通过某终端登录
su -USERNAME
su -l USERNAME
非登录式shell:
su USERNAME
图形终端下打开命令窗口
自动执行的shell脚本
bash的配置文件:
全局配置:
/etc/profile, /etc/profile.d/*.sh, etc/bashrc
个人配置
~/.bash_profile, ~/.bashrc
profile类的文件:
1、设定环境变量
2、运行命令或脚本
bashrc类的文件:
1、设定本地变量
2、定义命令别名
登录式shell如何读取配置文件?
/etc/profile --> /etc/profile.d/*.sh -->~/.bash_profile --> ~/.bashrc -->etc/bashrc
非登录式shell如何读取配置文件?
~/.bashrc -->etc/bashrc--> /etc/profile.d/*.sh
alias cls=clear
登出再登入 失效 不能跨shell生效
nano .bashrc
在最后加一行alias cls=‘clear‘
nano .bash_profile
在最后加一行echo "hello, it is `date`."
bash:脚本解释器
本文出自 “testpark” 博客,谢绝转载!