zoukankan      html  css  js  c++  java
  • linux的权限管理

    权限管理

    三种基本权限
    r 读权限(read) w 写权限(write) x 执行权限 (execute)
    权限说明
    在这里插入图片描述
    第1位:文件类型(d 目录,- 普通文件,l 链接文件)
    第2-4位:所属用户(所有者)权限,用u(user)表示
    第5-7位:所属组权限,用g(group)表示
    第8-10位:其他用户(其他人)权限,用o(other)表示
    第2-10位:表示所有的权限,用a(all)表示
    类型: f 二进制文件 l 软连接文件 d 目录

    字符 权限 对文件的含义 对目录的含义
    r 读权限 可以查看文件内容 可以列出目录的内容(ls)
    w 写权限 可以修改文件内容 可以在目录中创建删除文件( mkdir,rm )
    x 执行权限 可以执行文件 可以进入目录(cd)

    权限对应的可执行的命令:
    对于文件来说:

    r-cat,more,head,tail,less
    w-echo,vi
    x-命令,脚本
    

    对于目录来说:

    r-ls
    w-touch,mkdir,rm,rmdir
    x-cd 
    

    能删除文件的权限是对该文件所在的目录有wx权限。

    权限更改-chmod

    英文:change mode (change the permissions mode of a file)
    作用:改变文件或目录权限
    语法:
    chmod [{ugoa}{±=}{rwx}] [文件名或目录]
    chmod [mode=421] [ 文件或目录]
    参数:
    -R 递归修改
    u:所有者, g:所属组,o:其他人,a:所有;
    +:添加权限,-减少权限,=直接赋值成这个权限
    文件所有者
    例如:chmod u+x a.txt
    chmod u+x,o-x a.txt
    用数字来表示权限(r=4,w=2,x=1,-=0)

    例如:chmod  750  b.txt
    

    rwx和数字表示方式能随意切换
    注意:root用户是超级用户,不管有没有权限,root都能进行更改。用普通用户测试权限。
    不能用一个普通用户去修改另一个普通用户的权限。

    更改所有者-chown

    英文:change file ownership ;作用:更改文件或者目录的所有者
    语法 : chown user[:group] file…
     参数格式 :
    -R : 递归修改
       user : 新的档案拥有者的使用者 ID
    group : 新的档案拥有者的使用者群体(group)
    eg:#chown lee file1 把file1文件的所有者改为用户lee
    eg:#chown lee:test file1 把file1文件的所有者改为用户lee,所属组改为test
    eg:#chown –R lee:test dir 修改dir及其子目录的所有者和所属组

    改变所属组chgrp

    英文:change file group ownership
    作用:改变文件或目录的所属组
    语法 : chgrp [group] file…
    eg:chgrp root test.log 把test.log的所属组修改为root
    groupadd group1
    useradd username -g group

    用户权限管理

    usermod [options] user_name

    usermod 命令修改系统帐户文件来反映通过命令行指定的变化

    选项(options)

    • -a |–append ##把用户追加到某些组中,仅与-G选项一起使用
    • -c |–comment ##修改/etc/passwd文件第五段comment
    • -d |–home ##修改用户的家目录通常和-m选项一起使用
    • -e |–expiredate ##指定用户帐号禁用的日期,格式YY-MM-DD
    • -f |–inactive ##用户密码过期多少天后采用就禁用该帐号,0表示密码已过期就禁用帐号,-1表示禁用此功能,默认值是-1
    • -g |–gid ##修改用户的gid,改组一定存在
    • -G |–groups ##把用户追加到某些组中,仅与-a选项一起使用
    • -l |–login ##修改用户的登录名称
    • -L |–lock ##锁定用户的密码
    • -m |–move-home ##修改用户的家目录通常和-d选项一起使用
    • -s |–shell ##修改用户的shell
    • -u |–uid ##修改用户的uid,该uid必须唯一
    • -U |–unlock ##解锁用户的密码

    usermod示例

    示例(Examples):

    1,新建用户test,密码test,另外添加usertest组

    #useradd test 
    #echo "test" | passwd --stdin test 
    #groupadd usertest 
    

    2,把test用户加入usertest组

    #usermod -aG usertest test ##多个组之间用空格隔开 
    #id test 
    uid=500(test) gid=500(test) groups=500(test),501(usertest) 
    

    3,修改test用户的家目录

    #usermod -md /home/usertest 
    #ls /home 
    usertest 
    

    4,修改用户名

    #usermod -l urchin(新用户名称)  test(原来用户名称) 
    #id urchin 
    uid=500(urchin) gid=500(test) groups=500(test),501(usertest) 
    

    5,锁定urchin的密码

    #sed -n '$p' /etc/shadow 
    urchin:$6$1PwPVBn5$o.MIEYONzURQPvn/YqSp69kt2CIASvXhOnjv/t 
    Z5m4NN6bJyLjCG7S6vmji/PFDfbyITdm1WmtV45CfHV5vux/:15594:0:99999:7::: 
    #usermod -L urchin 
    #sed -n '$p' /etc/shadow 
    urchin:!$6$1PwPVBn5$o.MIEYONzURQPvn/YqSp69kt2CIASvXhOnjv/t 
    Z5m4NN6bJyLjCG7S6vmji/PFDfbyITdm1WmtV45CfHV5vux/:15594:0:99999:7::: 
    

    6,解锁urchin的密码

    #usermod -U urchin 
    #sed -n '$p' /etc/shadow 
    urchin:$6$1PwPVBn5$o.MIEYONzURQPvn/YqSp69kt2CIASvXhOnjv/t  
    Z5m4NN6bJyLjCG7S6vmji/PFDfbyITdm1WmtV45CfHV5vux/:15594:0:99999:7::: 
    

    7,修改用户的shell

    #sed '$!d' /etc/passwd 
    urchin:x:500:500::/home/usertest:/bin/bash 
    #usermod -s /bin/sh urchin 
    #sed -n '$p' /etc/passwd 
    urchin:x:500:500::/home/usertest:/bin/sh 
    

    8,修改用户的UID

    #usermod -u 578 urchin (UID必须唯一) 
    #id urchin 
    uid=578(urchin) gid=500(test) groups=500(test),501(usertest) 
    

    9,修改用户的GID

    #groupadd -g 578 test1 
    #usermod -g 578 urchin (578组一定要存在) 
    #id urchin 
    uid=578(urchin) gid=578(test1) groups=578(test1),501(usertest) 
    

    10,指定帐号过期日期

    #sed -n '$p' /etc/shadow 
    urchin:$6$1PwPVBn5$o.MIEYONzURQPvn/YqSp69kt2CIASvXhOnjv/t  
    Z5m4NN6bJyLjCG7S6vmji/PFDfbyITdm1WmtV45CfHV5vux/:15594:0:99999:7::: 
    #usermod -e 2012-09-11 urchin 
    #sed -n '$p' /etc/shadow 
    urchin:$6$1PwPVBn5$o.MIEYONzURQPvn/YqSp69kt2CIASvXhOnjv/t  
    Z5m4NN6bJyLjCG7S6vmji/PFDfbyITdm1WmtV45CfHV5vux/:15594:0:99999:7::15594: 
    

    11,指定用户帐号密码过期多少天后,禁用该帐号

    #usermod -f 0 urchin 
    #sed -n '$p' /etc/shadow 
    urchin:$6$1PwPVBn5$o.MIEYONzURQPvn/YqSp69kt2CIASvXhOnjv/t  
    Z5m4NN6bJyLjCG7S6vmji/PFDfbyITdm1WmtV45CfHV5vux/:15594:0:99999:7:0:15594: 
    

    注意(caution):

    usermod不允许你改变正在线上的使用者帐号名称。当usermod用来改变userID,必须确认这名user没在电脑上执行任何程序

    /etc/passwd
    user_name:x:uid:gid:commnet:home:shell
    /etc/shadow
    username:passwd:lastchg:min:max:warn:inactive:expire:flag
    

    –用户名

    –密码

    –从1970年1月1日起到上次修改密码所经过的天数

    –密码再过几天可以被变更(0表示随时可以改变)

    –密码再过几天必须被变更(99999表示永不过期)

    –密码过期前几天提醒用户(默认为一周)

    –密码过期几天后帐号被禁用

    –从1970年1月1日算起,多少天后账号失效

  • 相关阅读:
    Go 语言机制之逃逸分析
    类型转换和类型断言
    浅析rune数据类型
    Go 文件操作(创建、打开、读、写)
    字符编码笔记:ASCII,Unicode 和 UTF-8
    cmd.exe启动参数详解
    linux下.so、.ko、.a的区别
    Python 和C#的交互
    Innodb表压缩过程中遇到的坑(innodb_file_format)
    更改mysql的加密方式和密码策略
  • 原文地址:https://www.cnblogs.com/lengjk/p/13172730.html
Copyright © 2011-2022 走看看