linux文件权限学习记录

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux文件权限学习记录相关的知识,希望对你有一定的参考价值。

1、Linux的安全性

  1.1/etc/passwd文件

   存放用户的登录名以及相关信息

#cat /etc/passwd
root:x:0:0:root:/root:/bin/bash

        root用户账户为系统管理员,UID和GID都为0,1-500为系统用户,501-65535为普通用户使用。

   文件包含七个字段:用户名;密码;UID;GID;描述;HOME目录;默认SHELL。字段内容都可以用命令去修改

  1.2/etc/shadow文件

   存放密码的文件,并提供更多的控制,只有root才能访问/etc/shadow,每一个用户都存在对应的一条记录

#cat /etc/shadow
bin:*:15980:0:99999:7:::
daemon:*:15980:0:99999:7:::

   文件包含九个字段:用户名;加密后的密码;自上次修改密码过去的天数;多少天后才能修改密码;多少天后必须修改密码;过期前多少天提醒;密码过期后多少天禁用账户;账户禁用的日期;预留字段

  1.3添加新用户

   /usr/bin/useradd 添加用户默认值存放在/etc/default/useradd中,-D选项查看默认值

[[email protected] ~]# useradd -D
GROUP=100                    #GID为100的公共组
HOME=/home                   #HOME存放于/home/username
INACTIVE=-1                  #用户密码过期后不会被禁用
EXPIRE=                      #未设置过期日期
SHELL=/bin/bash              #默认SHELL
SKEL=/etc/skel               #系统将/etc/skel下的文件复制到家目录中,提示符出现bash1.1时就是丢失家目录文件,可以复制过来
CREATE_MAIL_SPOOL=yes        #在mail目录下创建一个接收邮件的文件

useradd命令行参数       

-c comment
给新用户添加备注
-d home_dir
指定家目录位置
-e expire_date
用YYYY-MM-DD指定账户过期日期
-f inactive_days
密码过期后多少天禁用账户,0表示立即,1表示禁用这个功能
-g group_name
指定所属组名或GID
-u uid
为账户指定唯一UID
-G group ...
指定附加组
-m
创建家目录
-k
将/etc/skel/*复制到账户HOME目录,必须与-m一起使用
-M
不创建HOME目录

-n
创建一个与登录名相同的新组
-r
创建一个系统账户
-p passwd
设置默认密码
-s shell
设置默认SHELL

        useradd修改默认值的参数

-b default_home
修改默认家目录
-e expiration_date
修改默认过期时间
-f inactive
修改默认密码到期到禁用的天数
-g group
修改默认的祖名或GID
-s shell
修改默认SHELL
# useradd -D -s /bin/bash            修改默认SHEL

        1.4删除用户

            userdel  用户名     只删除/etc/passwd中对应的用户信息

            userdel -r 用户名  将家目录和mail目录一起删除。。慎用

        1.5修改用户

            usermod     

            修改账户字段,常用-c修改备注,-e修改过期日期,-g修改登陆组,-l修改登录名,-L锁定账户不能修改和删除,-p修改密码,-U解锁

            passwd和chpasswd

            passwd username

            chpasswd 从文件中读取用户密码对,并修改密码

                chpasswd < user.txt

            chsh    快速修改默认SHELL,shell必须使用全路径

                chsh -s /bin/bash test

            chfn    修改备注

                chfn test

            chage    设置用户有效期

                -d    上次修改密码到现在的天数

                -E     设置密码过期日期

                -I     设置密码到期到锁定的天数

                -m    修改密码之间最少天数

                -W    密码过期前多久提示

2、使用Linux组

        2.1/etc/group文件

        保存用户组信息

[[email protected] ~]# cat /etc/group
root:x:0:
bin:x:1:bin,daemon
daemon:x:2:bin,daemon
sys:x:3:bin,adm

  组名:组密码:GID:属于改组的用户列表    五个字段

注意:当用户的/etc/passwd中指定用户组时,那么该用户不会作为改组成员出现在/etc/group中

        2.2groupadd    创建新组

        2.3修改组

        groupmod    -g     修改已有组的GID

                              -n    修改已有组的名字

 3、文件权限

[[email protected] ~]# ls -l
total 44
-rw-------. 1 root root  1149 Oct 17 23:20 anaconda-ks.cfg
-rw-r--r--. 1 root root 25830 Oct 17 23:20 install.log
-rw-r--r--. 1 root root  7345 Oct 17 23:18 install.log.syslog

   第一个字符为文件类型:-    普通文件;d    目录;l    代表链接;c    字符设备;b    块设备;n    网络设备

后面三组3字符的编码对应属主:属组:其他用户 的读写权限,r代表可读,w可写,x可执行

        3.1默认文件权限umask

[[email protected] ~]# umask
0022

            umak比较复杂简单介绍,第一位为粘着位,后面为八进制,目录默认权限777,普通文件默认666  

        777 -022  就是创建目录的默认权限755  创建普通文件的默认权限644

4、改变权限

chmod 权限  file

两种形式:1、数字形式  r->4  w->2  x->1

chmod 777 file    

2、字符表示      u 用户   g组  o其他  a上述所有

                        +添加权限    -删除权限    =设置权限为

chmod a+x   file     全面添加执行权限


改变所属关系

chown    user:group   file

chown    user.group    file

chown    .group     file


SUID  SGID  需进一步了解

                                        

以上是关于linux文件权限学习记录的主要内容,如果未能解决你的问题,请参考以下文章

linux文件权限学习记录

学习记录008-linux常用命令:查看权限three

Linux 文件权限

linux学习记录

Linux学习笔记:用户的权限管理

Linux下文件及文件夹权限(学习笔记版)