权限及权限管理
权限管理:
u:文件的属主,
g:属组,
o:其他用户
r:
文件:cat less more查看内容
目录:可使用ls命令,但不能切换进此目录,也不能使用ls -l命令
w:
x:
文件:可执行
目录:使用cd 、ls -l命令
chown :改变文件属主(只有管理员可以使用此命令)
# chown Jack file1,
-R:recursive,递归修改,修改目录及其内部文件的属主
--reference =:引用,参考
#chown --reference=/tmp/abc /tmp/test
chown 属主:属组 文件名
chown Jack:mygrp file1
chown Jack.mygrp file1
chown :mygrp file1 只改属组
chown --reference=/tmp/abc /tmp/test
chgrp :改变文件属组
-R:recursive
--reference
#chgrp mygrp /tmp/abc
chmod:修改文件的权限
修改三类用户的权限:
chmod 644 file1
-R:recursive,递归,包括其中的文件的权限
--reference=/path
修改某一类用户或某些类用户的权限:
u(user),g(group),o(other),a(all)
chmod u=r-- file1 //只改属主
chmod g=-wx file1 //只改属组
chmod o=r-x file1 //只改其他用户
chmod g=r-x,o=rw-,u=-wx /tmp/abc
chmod go=r-x /tmp/abc
修改某类用户的某位或某些位权限:
chmod u-x /tmp/abc
chmod u+w,g-r /tmp/abc
chmod u+x,g-r,o-w /tmp/abc
chmod a+x /tmp/abc
chmod u-wx,o+rx,g-rw /tmp/abc
练习:
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=0 /home/openstack
特殊权限位
s
练习:新建用户hive,基本组为hive,ID号5000,附加组为mygrp
1.nano /etc/group
2.nano /etc/passwd
3.nano /etc/shadow
4.cp -r /etc/skel /home/hive
5.chown -R hive.hive /home/hive/
6.chmod -R go=0 /home/hive/
7.su - hive
加密码
openssl passwd -1 -salt '12345678'
-1:MD5加密
-salt:杂质
*创建文件默认不具有执行权限(x)
umask:反向掩码
创建文件:666-umask
创建目录:777-umask
管理员:umask 022
普通用户:umask 002
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/bashrc -> /etc/profile.d/*.sh