zoukankan      html  css  js  c++  java
  • linux用户管理与文件权限篇

    1.linux用户权限相关
    1)
    root用户 相当于qq群的群主 超级用户
    sudo命令 相当于qq群的管理员
    普通用户 相当于qq群的水军

    超级用户root 的UID是 0

    系统用户UID为1~999

    普通用户的UID是从 1000开始


    2)
    查看用户的id信息,用linux id命令

    存放用户信息的文件 /etc/passwd

    创建普通用户命令 useradd 用户名

    更新普通用户密码passwd 密码



    3)用户切换

    su - 用户名

    root切换普通用户 不需要秘密吗
    普通用户之间需要密码

    ps:如果你从root用户切换到XX用户 然后logout退出 回到了之前 用户 也就是root用户


    Tip:
    1.超级用户root切换普通用户无需密码,例如“群主”想踢谁就踢谁
    2.普通用户切换root,需要输入密码
    3.普通用户权限较小,只能基本查看信息
    4.$符号是普通用户命令提示符,#是超级管理员的提示符


    4)用户删除
    userdel 用户 #只删除用户 家目录资料还在 不推荐

    userdel -rf 用户名 #强制删除用户,及其家目录


    5)linux的sudo命令 (就是让普通用户拥有 权限) 只有拥有root权限的用户才可以使用sudo命令
    我们可以把sudo理解成是系统管理员有针对性地把权限下放,也就是“放权”,因此,被“授权”的用户如果想要以root的身份执行某些命令/操作,
    只需要输入该用户的密码即可,无需知晓我们的root密码是多少,当执行完成后,直接退回到当前用户。


    步骤:1. vim /etc/sudoers #打开/etc/sudoers文件
    2. /root 然后再按n 就出现下面的 然后按格式添加liuxiaofeng用户#写入如下配置
    ## Allow root to run any commands anywhere
    root ALL=(ALL) ALL
    liuxiaofeng ALL=(ALL) ALL

    2.使用提供语法检测的命令来写
    visudo
    visudo使用vi打开/etc/sudoers文件,但是在保存退出时,visudo会检查内部语法,避免用户输入错误信息

    6)linux文件目录的权限
    Linux权限的目的是(保护账户的资料)
    权限预设的身份有三个:

    user/owner 属主,文件使用者,文件属于哪个用户 UID(用户ID)
    group 属组,文件属于哪个组 GID(组ID)
    others 既不是user,也不再group,就是other,其他人


    对于文件来说 可读 可写 可执行,转化的linux命令是什么
    cat more less 都是读取文本 r
    vim echo ""> 都是可写 w
    可执行就是值 可以 ./直接执行的,并且颜色是绿色的文件 x



    2.linux文件权限相关
    1)文件权限
    使用ll命令 可以查出下面
    - rw-r--r--. 1 root root 0 Mar 6 09:15 shixun.txt
    普通文本 权限 文件链接数 属主 属组 文件大小 修改日期时间 文件名

    drwxr-xr-x. 3 root root 56 Mar 5 10:38 www.luffycity.com

    第一栏:
    - 代表普通文本
    d 代表是个文件夹
    l 是一个软连接


    第二栏:
    rw- r-- r--
    user group other
    可读可写 只读 只读
    4+2+0 4+0+0 4+0+0

    r 可读 4
    w 可写 2
    x 可运行 1
    - 没权限 0

    d rwxrwx--- yinhuibing yinhuibing file1

    d 代表文件夹

    权限解读: rwxrwx---
    rwx rwx ---
    root group other


    2)更改权限的命令用 chmod
    chmod [身份]   [参数]   [文件]
        u(user)   +(添加)  
        g(group)  -(减去)
        o(other)  =(赋值)
        a(all)


    chmod u-w shixun.txt 表示 给user 去掉w 只写的权限
    chmod u+r shixun.txt 表示 给user 加上w 只写的权限
    chmod u-x shixun.txt 表示 给user 去掉x 可运行的权限

    chmod o+w shixun.txt 表示 给other 加上w 只写的权限

    chmod g+x shixun.txt 表示 给group 加上x 可运行的权限

    经过以上几条命令 此时 shixun.txt 这个文件的权限如下

    - r-- r-x rw- . 1 root root 16 Mar 6 09:25

    3)例题:

    a)文件权限读、写、执行三种符号的标志依次是(A)
    A.rwx B.xrw C.rdx D.rws


    b)如果执行命令,chmod 746 file.txt ,那么该文件的权限是(A)

    A.rwxr—-rw-
    B.rw-r—r—
    C.—xr—rwx
    D.rwxr—r—
    user rwx 7 other r-- 4 group rw- 6

    764
    c)某文件的组外成员的权限是只读、属主是全部权限、组内权限是可读可写、该文件权限为(D)
    o r-- u rwx p rw-
    4 7 6 # 按读写执行循序 764
    A.467 B.674 C.476 D.764

    4)linux快捷方式的语法 创建的软链接 以l开头

    ln -s 目标文件的路径 快捷方式的路径
    ln -s /opt/小姐姐电话.txt /tmp/电话.txt

    把/opt/profile 中的PATH变量注释掉,就找不到python3.6的路径了,没法执行
    然后就可以用ln -s 这个命令,把 安装包里的python3.6 添加快捷方式到 /bin/下 ,然后就能找到,可以运行


    5)压缩解压格式
    下载
    wget https://files.cnblogs.com/files/pyyu/luffy_boy.zip

    解压命令
    unzip luffy_boy.zip #.zip 格式的保用 unzip命令解压

    压缩命令 # -c 作用于 .tar格式
    tar -cvf 压缩文件的名字 你要压缩的内容 #tar格式的压缩包
    tar -cvf alltmp.tgz /tmp/* #压缩tmp下所有内容到 alltmp.tgz格式的压缩包下

    解压命令
    tar -xvf alltmp.tgz #解压缩这个压缩文件


    压缩当前目录所有文件为.gz文件
    gzip *
    把上例中每个压缩的文件解压,并列出详细的信息
    gzip -dv *


    .tgz.gz 格式的文件 先解压.gz然后解压.tgz
    解压命令
    tar -zxvf alltmp.tgz.gz #解压缩这个压缩文件

    -z 解压gz -x解压tgz -v解压过程 -f 指定文件

    tar -zcvf alltmp.tar.gz #解压缩这个压缩文件

    -z 解压gz -c解压tar -v解压过程 -f 指定文件

    3.其他知识

    补充:source /etc/profile 就是说改完里面东西 还不能立马生效 所以用此命令来读一下里面的内容,就生效了
    查看端口命令 netstat -tunlp

    查看进程 ps -ef|grep 进程名


    1)如果你的crm在服务器上运行了,怎么证明他是否正常
    1.查看是否能接受响应
    2.会产生一个进程 通过 ps -ef | grep python 查看 ,可以通过 pid管理进程
    3.也会产生一个端口,通过 netstat -tunlp | grep python #python 为进程名包含python的 因为django是python框架,名字会带python


    2)杀死进程的命令

    kill 进程id

    如果遇见僵尸进程,
    kill -9 pid #强制杀死进程,不管三七二十一

    -9就代表强制?

    #在后期运行uwsgi,支持多进程方式的django运行,会产生好多进程
    可以通过

    killall vim #可以杀死所有vim的进程
    或者pkill 一次性杀死匹配多个的进程

    比如有多个vim进程
    pkill vim #可以杀死多个

    3)关闭linux防火墙,便于学习
    命令如下

    1. 清空防火墙规则
    iptables -F
    2. 关闭防火墙系统服务
    systemctl stop/start/status firewalld
    systemctl status firewalld #查看当前防火墙状态

    3.禁止防火墙服务,开机自启
    systemctl disable/enable firewalld

    4)linux的dns域名解析

    1.域名和ip的关系
    一对多的关系

    多个域名可以对应一个服务器ip # 服务器为一 域名为多


    2.本地的dns解析文件 /etc/hosts ,可以手动写入 dns 与ip的对应关系
    [root@localhost ~]# cat /etc/hosts
    123.206.16.61 s17wudi.com #就是输入域名就能访问到ip

    ping ip 是连接 看能不能连接上


    3.windows 的hosts解析路径如下:C:WindowsSystem32driversetchosts


    4.dns服务器文件 /etc/resolv.conf

    nslookup pythonav.cn域名查找
    这个文件中,定义了2个 主备dns服务器地址,

    这些dns服务器,都搭建了一个叫做bind的软件,用于dns解析

    阿里: 223.5.5.5 223.6.6.6
    腾讯的 : 119.29.29.29
    谷歌dns :8.8.8.8
    114网址的: 114.114.114.114

    dns域名解析命令
    nslookup 域名 #例baidu.com

    5)linux的定时任务

    crontab -l #查看定时任务


    1.定制定时任务,编写定时任务

    crontab -e
    #写入如下定时任务

    分 时 日 月 周 命令的绝对路径 字符串 >> 一个文件地址
    #每分钟向/tmp/panta.txt 追加写入"干干巴巴,麻麻赖赖"

    * * * * * /usr/bin/echo "干干巴巴,麻麻赖赖" >> /tmp/panta.txt
    # echo命令的绝对路径
    #每分钟执行一次命令
    分 时 日 月 周 命令
    * * * * * 命令绝对路径

    #每小时的3,15分组执行命令
    * * * * *
    3,15 * * * *

    #在下午8-11点的第3和第15分钟执行
    分 时 日 月 周 命令
    3,15 20-23 * * * 命令

    #每晚21:30执行命令
    分 时 日 月 周 命令
    30 21 * * *


    #没周六、日的1:30执行命令
    分 时 日 月 周 命令
    30 1 * * 6,7 命令


    #每周一到周五的凌晨1点,清空/tmp目录的所有文件
    分 时 日 月 周 命令
    0 1 * * 1-5 /usr/bin/rm -rf /tmp/*

    #每晚的21:30重启nginx
    分 时 日 月 周 命令
    30 21 * * * /usr/bin/systemctl restart nginx


    #每月的1,10,22日的4:45重启nginx
    分 时 日 月 周 命令
    45 4 1,10,22 * * /usr/bin/systemctl restart nginx


    #每个星期一的上午8点到11点的第3和15分钟执行命令

    分 时 日 月 周 命令
    3,15 8-11 * * 1 执行命令

    6)linux安装软件的方式
    1.yum安装 自动去配置的yum下搜索软件包,自动安装,自动解决依赖关系,牛逼
    yum安装受限于yum仓库,并且安装到了哪个路径,也难以更改

    2.源码编译安装 yum工具适用于简单,不重要的软件,方便安装
    源码编译安装,适合,重量级的,企业应用,
    源码编译安装可以扩展很多第三方功能

    3.rpm包安装 这个方式就很烂了,需要手动解决依赖关系
    1.下载rpm包格式
    2.通过命令安装
    rpm -ivh xx.rpm


    rpm -q nginx #检测应用是否安装

  • 相关阅读:
    Android:Service通知Activity更新界面
    greendao 查询之数据去重
    Android GreenDao 深查询 n:m 的关系
    java 获取当天(今日)零点零分零秒
    Android Theme.Dialog 到光 AppCompatDialog
    Android 如何利用Activity的Dialog风格完成弹出框设计
    上周热点回顾(9.14-9.20)团队
    .NET跨平台之旅:将示例站点从ASP.NET 5 Beta5升级至Beta7团队
    上周热点回顾(9.7-9.13)团队
    上周热点回顾(8.31-9.6)团队
  • 原文地址:https://www.cnblogs.com/yuchen1301152/p/10539197.html
Copyright © 2011-2022 走看看