码迷,mamicode.com
首页 > 其他好文 > 详细

DAY5:用户组和权限管理(2)

时间:2016-08-04 11:53:02      阅读:248      评论:0      收藏:0      [点我收藏+]

标签:acl   suid   gpasswd   chmod   sgid   

8月2日,学习的主要内容为:

一、用户和组管理命令

二、文件权限

三、特殊权限

四、ACL



用户和组管理命令

  • useradd命令:用户创建

    默认值设定:/etc/default/useradd文件中
    -u UID

    -g GID:指明用户所属基本组,可为组名,也可以GID

    -c "COMMENT":用户的注释信息

    -d HOME_DIR: 以指定的路径(不存在)为家目录

    -s SHELL: 指明用户的默认shell程序 可用列表在/etc/shells文件中

    -G GROUP1[,GROUP2,...]:为用户指明附加组,组必须事先存

    -N 不创建私用组做主组,使用users组做主组

    -r: 创建系统用户 CentOS 6: ID<500,CentOS 7: ID<1000


  • 批量新建用户

    newusers  passwd格式文件 批量创建用户(此时只是创建了用户,其它文件还不全)

    chpasswd  批量修改用户口令

    /etc/skel/* 家目录存放文件 (需要复制到用户家目录)


  • usermod命令:用户属性修改

    -u UID: 新UID

    -g GID: 新基本组

    -G GROUP1[,GROUP2,...[,GROUPN]]]:新附加组,原来的附加 组将会被覆盖;若保留原有,则要同时使用-a选项,表示append

    -s SHELL:新的默认SHELL

    -c ‘COMMENT‘:新的注释信息

    -d HOME: 新家目录不会自动创建,原家目录中的文件不会同时移 动至新的家目录;若要创建新家目录并移动原家数据,同时使用-m选项 -l login_name: 新的名字

    -L: lock指定用户,在/etc/shadow 密码栏的增加

    -U: unlock指定用户,将 /etc/shadow 密码栏的 ! 拿掉

    -e YYYY-MM-DD: 指明用户账号过期日期

    -f INACTIVE: 设定非活动期限


  • userdel命令:删除用户

    -r: 删除用户家目录


  • id命令:查看用户相关的ID信息
    id [OPTION]... [USER]

    -u: UID

    -g: GID  显示主组

    -G: Groups 显示主组和附加组

    -n: Name 显示用户名而不是UID


  • su命令:切换用户或以其他用户身份执行命令
    su [options...] [-] [user [args...]]
    su UserName:非登录式切换,即不会读取目标用户的 配置文件,不改变当前工作目录

    su - UserName:登录式切换,会读取目标用户的配置 文件,切换至家目录,完全切换

    换个身份执行命令: su [-] UserName -c ‘COMMAND‘ (并没有切换用户,只是利用了一下权限)


  • passwd命令:设置密码

    passwd [OPTIONS] UserName 

    修改指定用户的密码(包括root用户),仅 root用户权限

    -l:锁定指定用户

    -u:解锁指定用户

    -e:强制用户下次登录修改密码
    --stdin:从标准输入接收用户密码; echo "PASSWORD" | passwd --stdin USERNAME


  • chage命令: 修改用户密码策略

    chage [option].... 用户名  (可以组个修改用户密码的各种时间)
    -d LAST_DAY

    -E, --expiredate EXPIRE_DATE

    -I, --inactive INACTIVE

    -m, --mindays MIN_DAYS

    -M, --maxdays MAX_DAYS

    -W, --warndays WARN_DAYS

    –l,显示密码策略
    chage -m 0 –M 42 –W 14 –I 7 tom

    chage -E 2016-09-10 tom

    下一次登录强制重设密码  chage -d 0 tom


  • finger命令:The finger displays information about the system users.

    finger  loginname

    chfn命令:Changing finger information for users  指定个人信息

    chsh命令: 指定shell


  • groupadd命令:创建组

    groupadd [OPTION]... group_name

    -g GID: 指明GID号;[GID_MIN, GID_MAX]

    -r: 创建系统组; CentOS 6: ID<500 CentOS 7: ID<1000

  • groupmod命令:修改组属性

    groupmod [OPTION]... group (新组名在前,原组名在后)

    -n group_name: 新名字

    -g GID: 新的GID;、

  • groupdel命令:删除组

  • gpasswd命令:更改组密码(后面直接接上组名)

    gpasswd [OPTION] GROUP
    -a user: 将user添加至指定组中(用户以此组为附加组)

    -d user: 从指定组中移除用户user

    -A user1,user2,...: 设置有管理权限的用户列表

  • newgrp命令:临时切换用户的基本组; 如果用户本不属于此组,则需要组密码

  • groupmems:更改和查看组成员

    groupmems [options] [action]

    options:

    -g, --group groupname 查看指定组的 (只有root有权限使用此选项)

    Actions:

    -a, --add username      指定用户加入组

    -d, --delete username    从组中删除用户

    -p, --purge                从组中清除所有成员

    -l, --list (配合-g group 不用再后接其它项)   显示组成员列表 、

  • groups [OPTION].[USERNAME]... 查看用户所属组列表(作用类似id)


二、文件权限

技术分享

  • chown命令:修改文件的属主和属组

    chown [OPTION]... [OWNER][:[GROUP]] FILE...

    chown  root:admins  testfile

    用法:

    OWNER

    OWNER:GROUP

    :GROUP

    命令中的冒号可用.替换;

    -R: 递归

    chown [OPTION]... --reference=RFILE FILE...

  •  chgrp:修改文件的属组

     

  • 文件的权限主要针对三类对象进行定义: owner: 属主, u group: 属组, g other: 其他, o

    每个文件针对每类访问者都定义了三种权限: r: Readable w: Writable x: eXcutable

  • 对于文件:

        r: 可使用文件查看类工具获取其内容

        w: 可修改其内容

        x: 可以把此文件提请内核启动为一个进程

    对于目录:

        r: 可以使用ls查看此目录中文件列表

        w: 可在此目录中创建文件,也可删除此目录中的文件

        x: 可以使用ls -l查看此目录中文件列表,可以cd进入此目录

        X:只给目录x权限,不给文件x权限

  • 文件权限数字表示

技术分享

 例如: 640: rw-r----

    rwxr-xr-x: 755


  • chmod命令:修改文件权限

    修改一类用户的所有权限: u=  g= o= ug=  a= u=,g=

    修改一类用户某位或某些位权限 u+  u- g+ g- o+ o- a+ a- +
    -R: 递归修改权限

    chmod [OPTION]... --reference=RFILE FILE... 参考RFILE文件的权限,将FILE的修改为同RFILE

    chmod  u+wx,g-r,o=rx file

    chmod  -R g+rwX /testdir

    chmod  600  file


  • 新建文件和目录的默认权限
    umask值 可以用来保留在创建文件权限, 非特权用户umask是 002,root的umask 是 022

    新建FILE权限: 666-umask 如果所得结果某位存在执行(奇数)权限,则将其此位权限+1

    新建DIR权限: 777-umask



三、linux文件系统上的特殊权限

  • 可执行文件上SUID权限

    用户运行程序时,自动继承程序属主的权限(只对二进制可执行程序有效 ,设在目录上无意义)

    权限设定: chmod u+s FILE...              chmod u-s FILE...

  • 可执行文件上SGID权限

     启动为进程之后,其进程的属主为原程序文件的属组
    权限设定: chmod g+s FILE...            chmod g-s FILE...

  • 目录上的SGID权限

     默认情况下,用户创建文件时,其属组为此用户所属的主组

    一旦某目录被设定了SGID,则对此目录有写权限的用户在此 目录中创建的文件所属的组为此目录的属组。通常用于创建一个协作目录。

    权限设定: chmod g+s DIR...             chmod g-s DIR...

  • 目录上的Sticky 位(设在文件上无意义)

    具有写权限的目录通常用户可以删除该目录中的任何文件,无论该文件的权限或拥有权

    在目录设置Sticky 位,只有文件的所有者或root可以删除该文件

    权限设定 chmod o+t DIR...                 chmod o-t DIR...

  • 特殊权限数字法

    SUID4  SGID2  STICKY1

    权限用数字表示时,位于最前面如 chmod 4777 /tmp/a.txt

  • s与S  s表示拥有x权限 S表示没有x权限(对于属主和属组而言)

    t与T  t表示拥有x权限 T表示没有x权限(对于other而言)

  • 设定文件特定属性

    chattr +i 不能删除,改名,更改

    chattr +a 只能增加

    lsattr 显示特定属性



四、访问控制列表ACL

  • 实现灵活的权限管理,可就指定的文件、目录对所有用户设置权限。

    getfacl  file |directory

    setfacl  -m  u:wang:rwx file|directory

    setfacl  -Rm g:sales:rwX directory 

    setfacl  -M  file.acl file|directory

    setfacl  -m  g:salesgroup:rw file| directory

    setfacl  -m  d:u:wang:rx  directory

    setfacl  -x  u:wang  file |directory 

    setfacl  -X file.acl  directory

本文出自 “笑猴子” 博客,请务必保留此出处http://xiaomonky.blog.51cto.com/11869371/1834134

DAY5:用户组和权限管理(2)

标签:acl   suid   gpasswd   chmod   sgid   

原文地址:http://xiaomonky.blog.51cto.com/11869371/1834134

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!