Linux学习笔记4.3-Linux权限管理

权限管理

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” 博客,谢绝转载!

Linux学习笔记4.3-Linux权限管理

上一篇:WebAPI 跨域


下一篇:虚拟桌面的备份恢复