【2015/10/2】Linux学习日志_Day4 改变用户权限 文件类型与权限 链接 服务

D4:


    所有shell命令所在的位置在 /usr/bin /usr/sbin/ 中(普通用户/超级用户)
    
    id <用户名> : 查看用户信息

 1.更改配置文件sudoers 将权限授予普通用户
     /etc/sudoers  中 或者使用  visudo 查看 sudoers
 
在sodoer中:

    eg1:  为khalil用户添加 不需要输入密码的 useradd userdel的管理员命令
        


        ## Allow root to run any commands anywhere
        root    ALL=(ALL)         ALL
        khalil  machenike-PC=(root)  NOPASSWD:/usr/sbin/useradd, /usr/sbin/userdel

        * 代码段中的machenike-PC是所运行的电脑的名字

    eg2:  为ADMIS(khalil 2330)赋予自己给予的组权限(FILE_OPER:chmod, chown)

        User_Alias ADMINS = kahlil,233
        Cmnd_Alias FILE_OPER = /usr/bin/chmod, /usr/bin/chown

        root    ALL=(ALL)         ALL
        ADMINS  machenike-PC=(root)  NOPASSWD:FILE_OPER


    再输入 sudo <命令> 可以使用被授权的命令


                
    2.文件类型与权限:
    
    ll下可以查看的文件信息:

    文件类型权限. 链接数 所属用户 所属组 inode编号 更改日期 名字

    d rwx rwx rwx:
        首字母:
            link(链接)
            direct(文件)
            block(硬盘,U盘)        
            char(字符设备:键盘)
            socket(套接字)
          第一段:所属用户 user
        第二段:所属组   group
        第三段:其他人   other
        所有人:all
        文件的:read write exec
        目录的r(查看目录中有什么文件)w(可以在目录中创建删除文件)x(可以打开)
eg:    chmod u=rwx,g=rw,o=r <文件名>
    chmod 764 <文件名>

    *上面两条命令是一个意思 rwx以二进制代码表示

    chmod +x <文件名> 为文件添加一个可执行的属性

    chown -R <命令> 会同时改变目录下所有文件的所属

    同理 有chgrp  只能改变所属组


file <文件>:查看文件类型(ELF 即二进制文件 executable 即可执行文件)

    suid只可以针对二进制文件使用L
        chmod u+s  touch : 文件的x变成s 使这个二进制文件所属用户执行效果变成超级用户的执行效果
        同理对二进制可以使用的还有g+s 取消该效果为u-s g-s
    g+s 同时可以对目录使用: 使其下面创建的东西全部属于root组
    
    sticky:
    o+t 只能给目录加: 使目录下的文件只能被所属用户使用 无视rwx权限

    同时u+s:4 g+s:2 o+t:1
    eg:chmod 2777 <文件> :改为 g+s rwxrwxrwx 权限

    
    umask 是 默认的目录权限 如022 则默认mkdir的文件权限是755
    为了安全性考虑 文件的等级全部更低一级 默认touch的文件权限是644
    在 /etc/profile 是配置文件

    使用umask <掩码> 命令进行改变 但是是暂时的

    
    3.软硬链接:

    Hard link ------ Soft link :
    ln -s <文件绝对路径> <link文件的绝对路径> : 制造软链接(快捷方式)            
    ln  ... : 没有 -s 时 是制造硬链接(同一个文件) Tip:硬链接不能对目录进行链接,同时也不能对不同的文件系统(分区)进行链接


    4.服务:

    vsftpd 服务 - /var/ftp/pub   
    httpd 服务 - /var/www/html/index.html
    (共享服务与网络服务)
    
    VPN 代理 (上网加速器23333)

    安装两个服务后:

    在ftp/pub/中创建文件 然后链接 ln -s /var/ftp/pub/file /var/www/gtml/file
    systemctl start vsftpd
    systemctl start httpd
    
    systemctl <start/stop/status/restart/enable/disable> <服务名>
:开启/停止/查看状态/重启/打开开机自启/关闭开机自启

    


    

    dd if=/dev/zero of=/mnt/test.img bs=1024K count=10 : 划分一块10mb的img设备

    echo $? 返回上一次命令所返回的值

    
    df -iT 查看设备的inode使用情况

    pstree 显示进程树

    openssh : 一种远程shell 远程登陆:
        ssh <用户名>@<IP地址>  然后输入用户密码就可以进入别人的系统了
        
    





一个疯狂占用inode的shell脚本:

#!/bin/bash

for((i = 1; ;i++))
do
    if [ $? -eq 0 ];then
        echo "this is file_$i" > /tmp/file_$i
    else
        exit 1
    fi
done
        
    
    
    
        






    

                               

发布了28 篇原创文章 · 获赞 3 · 访问量 2万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章