• linux权限管理


    用户管理


     useradd 创建用户

    选项:

    -u UID

    -g GID

    -d 家目录,普通用户在家目录中有最高权限;默认在操作系统的/home目录下。

    -s 登陆后用户启用后的shell ,图形界面和命令行。

    [root@localhost zyj]# useradd sl  //默认创建家目录和组ID、用户名id及登陆后的shell
    [root@localhost zyj]# cd /home
    [root@localhost home]# ls
    hello.txt  sl  x  zyj
    [root@localhost sl]# more /etc/passwd
    root:x:0:0:root:/root:/bin/bash
    bin:x:1:1:bin:/bin:/sbin/nologin
    daemon:x:2:2:daemon:/sbin:/sbin/nologin
    adm:x:3:4:adm:/var/adm:/sbin/nologin
    sl:x:501:501::/home/sl:/bin/bash  

    userdel:删除用户

    [root@localhost sl]# userdel sl
    [root@localhost sl]# more /etc/passwd
    root:x:0:0:root:/root:/bin/bash
    bin:x:1:1:bin:/bin:/sbin/nologin
    daemon:x:2:2:daemon:/sbin:/sbin/nologin
    adm:x:3:4:adm:/var/adm:/sbin/nologin
    zyj:x:500:500: python_full:/home/zyj:/bin/bash

    passwd:给所有用户设置密码,重新执行相当于修改密码。

    [root@localhost ~]# passwd  //不加用户时直接修改root密码
    Changing password for user root.
    New password: 
    [root@localhost ~]# passwd zyj //为用户zyj修改密码
    Changing password for user zyj.
    New password: 
    [root@localhost ~]# echo "123123" | passwd --stdin zyj  //一次性给用户设置密码
    Changing password for user zyj.
    passwd: all authentication tokens updated successfully.

     usermod:修改用户账号属性

    -u UID 系统给用户分配500以后的用户ID,root的用户ID为0

    -g GID

    -c

    -d,-m

    -s

    -l

    -L:锁定账号

    -U:解锁账号

    chsh:修改用户的默认shell,设置用户不能登陆,需要使用此命令。将/bin/bash修改为/sbin/nologin

    [root@localhost home]# chsh sl 
    Changing shell for sl.
    New shell [/bin/bash]: /sbin/nologin
    Shell changed.
    [root@localhost home]# 
    [root@localhost home]# more /etc/passwd
    root:x:0:0:root:/root:/bin/bash
    tcpdump:x:72:72::/:/sbin/nologin
    zyj:x:500:500: python_full:/home/zyj:/bin/bash
    sl:x:501:501::/home/sl:/sbin/nologin
    [root@localhost home]# 

    finger:查看用户账号信息

    chfn:修改注释信息

    [root@localhost home]# chfn sl 
    Changing finger information for sl.
    Name []: songlin
    Office []: 112
    Office Phone []: 123123
    Home Phone []: 1222222
    
    Finger information changed.
    [root@localhost home]# 

    id:查看用户id信息

    [root@localhost home]# id zyj
    uid=500(zyj) gid=500(zyj) groups=500(zyj)
    [root@localhost home]# id sl
    uid=501(sl) gid=501(sl) groups=501(sl)

     chage:修改用户密码信息,用户密码默认使用期限99999天。

    -d:最近一次的修改时间

    -E:过期时间

    -l:非活动时间

    -m:最短使用期限

    -M:最长使用期限

    -W:警告时间

    [root@localhost home]# more /etc/shadow   //查看密码默认参数
    root:$1$swlT1$4hBbAlVXQX4Te2W3sR9WW1:17635:0:99999:7:::   //密码创建时间(距离1970/1/1--创建的时刻之间的天数)  密码默认期限
    bin:*:17246:0:99999:7:::
    daemon:*:17246:0:99999:7:::
    adm:*:17246:0:99999:7:::
    lp:*:17246:0:99999:7:::
    sync:*:17246:0:99999:7:::
    shutdown:*:17246:0:99999:7:::
    halt:*:17246:0:99999:7:::
    mail:*:17246:0:99999:7:::
    uucp:*:17246:0:99999:7:::
    operator:*:17246:0:99999:7:::
    games:*:17246:0:99999:7:::
    gopher:*:17246:0:99999:7:::
    ftp:*:17246:0:99999:7:::
    nobody:*:17246:0:99999:7:::
    dbus:!!:17635::::::
    usbmuxd:!!:17635::::::
    rtkit:!!:17635::::::
    avahi-autoipd:!!:17635::::::
    vcsa:!!:17635::::::
    abrt:!!:17635::::::
    haldaemon:!!:17635::::::
    ntp:!!:17635::::::
    apache:!!:17635::::::
    saslauth:!!:17635::::::
    postfix:!!:17635::::::
    gdm:!!:17635::::::
    pulse:!!:17635::::::
    sshd:!!:17635::::::
    tcpdump:!!:17635::::::
    zyj:$1$B9mFAlrM$ATlvUisEU92vF9uibg11Z.:17646:0:99999:7:::
    sl:!!:17646:0:99999:7:::

     组管理:一般不常用

    groupadd

    groupdel

    groupmod

    gpasswd

    权限管理:三组权限。

    rwx:读写执行/进入 

    二进制数字表示权限:

    111 :7 rwx

    110:6 rw-

    101:5 r-w

    100:4 r--

    011:3 -wx

    010:2 -w-

    001:1 --x

    000:0 ---

    拥有用户权限/同组其他用户的权限/其他用户的权限

    [zyj@localhost home]$ ll
    total 16
    -rw-r--r--.  1 root root   86 Apr 15 09:23 hello.txt
    drwx------.  4 sl   sl   4096 Apr 25 10:16 sl
    drwxr-xr-x.  2 root root 4096 Apr 15 07:00 x
    drwx------. 24 zyj  zyj  4096 Apr 25 10:18 zyj
    [zyj@localhost home]$ rm hello.txt
    rm: remove write-protected regular file `hello.txt'? y
    rm: cannot remove `hello.txt': Permission denied 
    [zyj@localhost home]$ chmod o+w hello.txt 
    chmod: changing permissions of `hello.txt': Operation not permitted
    [zyj@localhost home]$ su root
    Password:  
    [root@localhost home]# chmod o+w hello.txt 
    [root@localhost home]# ll
    total 16
    -rw-r--rw-.  1 root root   86 Apr 15 09:23 hello.txt
    drwx------.  4 sl   sl   4096 Apr 25 10:16 sl
    drwxr-xr-x.  2 root root 4096 Apr 15 07:00 x
    drwx------. 24 zyj  zyj  4096 Apr 25 10:18 zyj
    [root@localhost home]# su zyj
    [zyj@localhost home]$ ll           
    total 16
    -rw-r--rw-.  1 root root   86 Apr 15 09:23 hello.txt
    drwx------.  4 sl   sl   4096 Apr 25 10:16 sl
    drwxr-xr-x.  2 root root 4096 Apr 15 07:00 x
    drwx------. 24 zyj  zyj  4096 Apr 25 10:18 zyj
    [zyj@localhost home]$ rm -rf hello.txt 
    rm: cannot remove `hello.txt': Permission denied
    [zyj@localhost home]$ 
    [zyj@localhost home]$ su root
    Password: 
    [root@localhost home]# ll
    total 16
    -rw-r--rw-.  1 root root   86 Apr 15 09:23 hello.txt
    drwx------.  4 sl   sl   4096 Apr 25 10:16 sl
    drwxr-xr-x.  2 root root 4096 Apr 15 07:00 x
    drwx------. 24 zyj  zyj  4096 Apr 25 10:18 zyj
    [root@localhost home]# chown zyj:zyj hello.txt 
    [root@localhost home]# ll
    total 16
    -rw-r--rw-.  1 zyj  zyj    86 Apr 15 09:23 hello.txt
    drwx------.  4 sl   sl   4096 Apr 25 10:16 sl
    drwxr-xr-x.  2 root root 4096 Apr 15 07:00 x
    drwx------. 24 zyj  zyj  4096 Apr 25 10:18 zyj
    [root@localhost home]# su zyj
    [zyj@localhost home]$ ll
    total 16
    -rw-r--rw-.  1 zyj  zyj    86 Apr 15 09:23 hello.txt
    drwx------.  4 sl   sl   4096 Apr 25 10:16 sl
    drwxr-xr-x.  2 root root 4096 Apr 15 07:00 x
    drwx------. 24 zyj  zyj  4096 Apr 25 10:18 zyj
    [zyj@localhost home]$ rm -rf hello.txt 
    rm: cannot remove `hello.txt': Permission denied
    [zyj@localhost home]$ ll
    total 16
    -rw-r--rw-.  1 zyj  zyj    86 Apr 15 09:23 hello.txt
    drwx------.  4 sl   sl   4096 Apr 25 10:16 sl
    drwxr-xr-x.  2 root root 4096 Apr 15 07:00 x
    drwx------. 24 zyj  zyj  4096 Apr 25 10:18 zyj
    [zyj@localhost home]$ chmod g+w hello.txt 
    [zyj@localhost home]$ ll
    total 16
    -rw-rw-rw-.  1 zyj  zyj    86 Apr 15 09:23 hello.txt
    drwx------.  4 sl   sl   4096 Apr 25 10:16 sl
    drwxr-xr-x.  2 root root 4096 Apr 15 07:00 x
    drwx------. 24 zyj  zyj  4096 Apr 25 10:18 zyj
    [zyj@localhost home]$ rm -rf hello.txt 
    [root@localhost home]# ll  
    total 20
    -rw-r--r--.  1 root root   10 Apr 25 11:05 1.txt
    -rwxrwxrwx.  1 zyj  zyj    86 Apr 15 09:23 hello.txt
    drwx------.  4 sl   sl   4096 Apr 25 10:16 sl
    drwxr-xr-x.  2 root root 4096 Apr 15 07:00 x
    drwx------. 24 zyj  zyj  4096 Apr 25 10:18 zyj
    [root@localhost home]# 
    [root@localhost home]# 
    [root@localhost home]# chmod 666 1.txt   //通过数字的方式修改权限
    [root@localhost home]# ll
    total 20
    -rw-rw-rw-.  1 root root   10 Apr 25 11:05 1.txt
    -rwxrwxrwx.  1 zyj  zyj    86 Apr 15 09:23 hello.txt
    drwx------.  4 sl   sl   4096 Apr 25 10:16 sl
    drwxr-xr-x.  2 root root 4096 Apr 15 07:00 x
    drwx------. 24 zyj  zyj  4096 Apr 25 10:18 zyj
    [root@localhost home]# 
    [root@localhost home]# chmod 777 1.txt   
    [root@localhost home]# ll
    total 20
    -rwxrwxrwx.  1 root root   10 Apr 25 11:05 1.txt
    -rwxrwxrwx.  1 zyj  zyj    86 Apr 15 09:23 hello.txt
    drwx------.  4 sl   sl   4096 Apr 25 10:16 sl
    drwxr-xr-x.  2 root root 4096 Apr 15 07:00 x
    drwx------. 24 zyj  zyj  4096 Apr 25 10:18 zyj

    给目录下的所有文件增加权限:-R

    [root@localhost home]# ll
    total 20
    -rwxrwxrwx.  1 root root   10 Apr 25 11:05 1.txt
    -rwxrwxrwx.  1 zyj  zyj    86 Apr 15 09:23 hello.txt
    drwx------.  4 sl   sl   4096 Apr 25 10:16 sl
    drwxr-xr-x.  2 root root 4096 Apr 15 07:00 x
    drwx------. 24 zyj  zyj  4096 Apr 25 10:18 zyj
    
    [root@localhost x]# chmod o+w ../x/ //给x目录本身增加权限
    [root@localhost x]# chmod o+w .    //给当前目录本身增加权限
    [root@localhost ~]# cd /home
    [root@localhost home]# ll
    total 20
    -rwxrwxrwx.  1 root root   10 Apr 25 11:05 1.txt
    -rwxrwxrwx.  1 zyj  zyj    86 Apr 15 09:23 hello.txt
    drwx------.  4 sl   sl   4096 Apr 25 10:16 sl
    drwxr-xrwx.  2 root root 4096 Apr 15 07:00 x
    drwx------. 24 zyj  zyj  4096 Apr 25 10:18 zyj
    [root@localhost home]# 
    
    [root@localhost home]# chmod -R o+w x/   //加-R,递归给目录下的所有文件增加w的权限
    [root@localhost home]# cd x
    [root@localhost x]# ll
    total 104
    -rw-----w-. 1 root root 3361 Apr 15 05:27 anaconda-ks.cfg
    -rw-r--rw-. 1 root root 41915 Apr 15 05:27 install.log
    -rw-r--rw-. 1 root root 9154 Apr 15 05:27 install.log.syslog
    -rw-r--rw-. 1 root root 41915 Apr 15 05:25 my.log
  • 相关阅读:
    网络编程学习小结
    我的学习笔记_Windows_HOOK编程 2009-12-03 11:19
    void及void指针含义的深刻解析
    Android开发之自己定义TabHost文字及背景(源码分享)
    ActionBar自己定义改动无效解决方法
    一位Erlang程序猿的自白
    Xcode 5.1安装插件:规范凝视生成器VVDocumenter
    Socket程序中的Error#10054错误
    CSDN博客清理缓存
    ACM 位运算
  • 原文地址:https://www.cnblogs.com/zhaoyujiao/p/8947131.html
Copyright © 2020-2023  润新知