RHCSA --- Linux用户/组权限

用户管理

useradd    创建用户
    -u(UID)    指定UID
    -g(GID)    指定基本组
    -G(GID1,GID2,...)    指定附加组
    -c    “注释信息”    指定用户注释信息(昵称)
    -d    /path/to/dir/    指定某个目录为用户家目录(/jiamulu/test)
    -s    /shell        指定用户使用的shell
        useradd -u 12345 -g redhat -G zhangsan -c "suibianxie" -d /jiamulu/test -s /sbin/nologin(不可登录) test
            /bin/bash    (可登录)
usermod(修改)
    tail -1 /etc/passwd(查看用户数据库最后一行)
    usermod -l test01 test    修改登录名
        修改UID和GID为0的用户一定是root用户
            vim etc/passwd
            /sbin/nologin ---> /bin/bash

    相关文件
        /etc/skel
            用户家目录中的默认隐藏配置文件
        /etc/login.defs
            用户的相关默认属性
            
    
passwd    修改用户密码
    --stdin
        echo "redhat" | passwd --stdin USERNAME(脚本)

/etc/default/useradd    设置新用户的默认值

userdel
    userdel USERNAME    删除用户(保留用户的家目录和邮箱)
        /home/    和    /var/spool/mail/
    -r    删除用户时删除用户家目录和用户的邮箱
    
id    查看用户的ID信息,选项同useradd
    -u    显示UID
    -G    显示附加GID
    -g    显示GID

usermod    修改用户相关信息,选项同useradd
    -u    修改UID
    -g    修改基本组,基本组必须事先存在
    -G    这个选项会覆盖之前的附加组,和-a选项配合使用
        usermod -a -G 追加附加组
    -c    修改用户注释信息
    -s    修改用户shell
    -l    修改登陆名

chsh    -s    修改用户shell

grep    过滤

组管理

groupadd    添加一个组
    -g    GID
    -r    添加系统组

groupdel    删除一个组
groupmod    修改一个组
    -g    GID    
    -n    GRPNAME    修改组名
gpasswd    修改组密码
newgrp    切换到一个新组
    使用exit退出新组

history    查看命令历史   

grep    过滤指定文本在某些文件,支持正则,支持扩展正则   -E   egrep
    grep root /etc/passwd    查找passwd文件中是否有root   

chmod 777 /test(修改该目录权限)


权限管理

什么是权限?

单用户    单任务    

多用户    多任务    Linux

现代操作系统

权限

认证    密码、指纹、人脸、虹膜、声音   
授权    认证之后的用户所释放给你的资源   
审计    过程    结果   

3A认证框架   

认证    用户和组的管理  
授权    权限的控制  

审计   

文件
-    没有对应的权限
r    可以读取文件内容
w    可以编辑文件内容
x    可以执行文件    文件必须是可执行文件   
目录
-    没有对应权限
r    表示可以列出目录
w    表示可以在目录创建删除文件。。。
x    表示可以进入(cd)该目录   

第一组
rw-    表示的是该文件所属用户对该文件的权限
第二组
r--    表示的是该文件所属组的所有用户对该文件的权限 
第三组
r--    表示的是除了上面的那些人对该文件的权限

chmod(修改权限)    权限    filename/dirname
            文件名    目录名
        chmod u+x root
用    字母o    表示其他人
用    字母g      表示所属用户组的所有用户
用    字母u    表示所属用户
用    字母a      表示所有用户

用    +    表示赋予指定的权限   
用    -    表示取消指定的权限 
用     =    表示直接赋予指定权限(ugo)  
            chomd ugo = r

数字表示法(指定权限):

1    0   
有权限    无权限

---    000    0
--x    001    1
-w-    010    2
-wx    011    3
r--    100    4
r-x    101    5
rw-    110    6
rwx    111    7

777
rwxrwxrwx   
    chmod 777 root

r--    4
-w-    2
--x    1

633
rw--wx-wx

chmod    权限数字表示法(filename)


umask    查看权限掩码,文件默认权限为666,目录默认权限为777
    umask 权限掩码     更改权限掩码

rw-r--r--    644    为什么?
rwxr-xr-x    755    为什么?

0      022   
022(权限掩码)    表示的是在创建文件或者目录时从文件或者目录上拿走的权限

文件:
644
022    666    rw-r--r--    
请注意:文件默认不配置可执行权限    

目录:
755
022    777    rwxr-xr-x    目录所对应的权限   
x:目录x权限是用来定义能否进入该目录   

权限掩码    每个用户可以有自己设定的权限掩码    

如果要修改权限掩码    umask 权限掩码    直接修改
请注意:修改的是当前用户   

全局权限可以修改,但是没必要。
全局配置文件    局部配置文件    

rw--w--w-    622    044    666 

rw-r--r--    644    033相当于022    1    0    3    2    5    4
请注意:文件权限掩码中,x权限没有意义   


chown    改变文件或者目录的所属用户和所属组
        chown USERNAME:GROUPNAME FILENAME -R(递归:更改目录及目录里所有文件)
        chown redhat:redhat haha

    chown root. haha        修改用户及所属组为root
    chown .redhat haha        修改文件所属组为root
    chown redhat.root haha    修改为redhat用户和root组

chgrp    修改文件或目录的所属组
    chgrp test /test   


安全上下文
    ps -ef    列出该用户的所用进程
    ps -ef | grep passwd
    chmod u-s /usr/bin/passwd
    secure context
    源进程所拥有权限为发起者所拥有的,追加s权限后,进程所拥有的权限为程序拥有者所所拥有的权限

特殊权限

SUID:    运行程序时,进程的属主是程序文件自身的权限,而不是进程发起者
        chmod u[+|-]s FILENAME    如果文件原来有执行权限就显示为s,反之显示S

SGID:    运行程序时,进程给的所属组是程序文件自身的数组,而不是进程发起者的基本组
    为目录属性,给文件定义没有意义。 
        charp test /test    修改所属组
        chmod g[+|-]s DIRNAME

Sticky:    在一个公共目录,每个用户都可以创建文件,删除自己的文件,但不能删除别人的文件    对目录有效
        chmod o[+|-]t DIRNAME
        
扩展权限    
    setfacl        Filesystem Access Control list

        -m    设定
            u:    用户
            g:    组
            setfacl -m u:UID:perm   filename   
            
        -x    取消
            u:    用户
            g:    组    

                setfacl -x u:test rootpassword

                setfacl -b rootpassword

    getfacl  filename   

隐藏属性
    chattr

        +   表示设置该属性 
        -   表示取消该属性

        a
        i     

    lsattr


shell特性:
        1、命令行编辑
            Ctrl+a    跳到命令行行首
            Ctrl+e    跳到命令行行尾
            Ctrl+d    向后删除,类似delete
            Ctrl+u    删除光标至行首的内容
            Ctrl+k    删除光标至行尾的内容
            Ctrl+左右箭头,    在模拟终端中支持按单词跳转    
            Ctrl+l    清屏,等同于clear
            Ctrl+c  取消执行当前命令
            
        2、命令历史
            history        命令历史管理
                    命令历史文件为~/.bash_history
                    命令历史大小由环境变量HISTSIZE来指定,默认为1000
                    变量配置文件为/etc/profile
                -c    清空整个命令历史
                -d    删除指定命令历史
                -w    将缓冲区中的命令历史保存到命令历史文件
                
            使用技巧
                !n    执行命令历史中第n条命令
                !-n    执行命令历史中倒数第n个命令
                !!    执行上一条命令
                !KEY    执行最近一次以指定KEY开头的命令
                !$    引用上一个命令中最后一个参数
                ESC+.    同上,多次按还可以切换
                ALT+.    同上,在远程终端无效?
                
        3、自动补全
            命令补全
                在PATH环境变量下搜索补全要输入的命令
            路径补全
                在输入的字符开始的路径下补全
            选项补全
                在输入命令之后,可以自动补全选项

        什么是变量?
            内存使用空间的名称  命名的内存空间 

你可能感兴趣的:(linux,oracle,运维)