您的位置:首页 > 运维架构 > Linux

Linux学习之——用户及文件权限管理

2013-12-31 11:23 691 查看

1、用户管理

(1)系统用户文件

登录Linux系统的用户及其设置文件是“/etc/passwd”,查看内容类似如下:
root:x:0:0:root:/root:/bin/bash
这一行用冒号分割,每个为一个字段,分别的含义如下:
字段一:用户名
字段二:用户登录密码,早起的系统密码直接保存在此处,上面的“x”表示用户的密码保存在“/etc/shadow”文件中
字段三:用户ID号,即UID
字段四:用户所属组ID,即GID
字段五:可空,保存用户其他信息,如全名等
字段六:用户的家目录位置,存放用户的初始化文件、个人配置等
字段七:用户使用的Shell
Linux系统中,用户ID(UID)从0-499保留给系统用户使用,管理员添加的账号的UID一般大于等于500

密码文件“/etc/shadow”用于保存用户的密码,内容类似如下:
root:$1$feqfedafsdEFQfdsafaFDSAFDSA.FDSAF.FDS:14789:0:999999:7:::
字段一:用户名
字段二:加密的密码,如果以“$1$”开头,表示使用的是MD5加密
字段三:最后一次密码修改的天数(从1970年1月1日算起)
字段四:两次密码修改之间的间隔天数
字段五:密码最长保留的天数,1表示用户不能修改密码,此处的999999保证root用户的密码有足够的保留时间
字段六:表示密码过期之前的警告天数,-1表示没有警告
字段七:密码过期后禁止用户登录的天数,1表示不会被禁用,此处留空表示不会被禁止登录
字段八:过期后禁用的天数,-1表示不会被禁用,留空表示不会被禁用
字段九:保留字段,一般为空

(2)添加用户

adduser是useradd命令的软链接文件,因此这个两个命令的用法相同。
useradd [-g 指定用户组名 s 指定用户使用的shell] username
注意:用户名存放在系统用户文件中,一般不要使用中文;避免使用公众账号,可能会因此同时修改一个文件而引发冲突;用户名和用户组名区分大小写,但是不要用大小写不同来区分不同用户。
安装软件时建立软件专用用户的时候,一般不需要此用户登录系统,因此需要使用选项“s”修改默认的shell,以阻止其登录系统:
useradd -s /sbin/nologin mysql #/sbin/nologin是一个特殊shell,系统会禁止使用此shell的用户登录

(3)设置密码

添加用户后,如果不为此用户设置密码,大多数发行版的系统都会禁止用户登录系统。
passwd [username]
如果没有指明用户,会修改当前用户的密码,否则设置(修改)指定用户名的密码。任何用户都可以使用该命令修改自己的密码。

(4)删除用户

userdel [-r 删除家目录和邮件文件 ...] username
当用户不使用系统时,通常先将该用户的账号禁用一段时间,再删除用户的家目录、个人文件和邮件文件。

(5)用户管理

usermod [-L 锁定用户禁止用户登录 U 解除锁定 e 指定用户过期时间 f 指定用户过期之后的缓冲时间,即过期后还能登录的天数 d 指定用户的家目录 m 指定新的家目录时移动原来家目录中的所有文件 s 修改用户默认的shell]
username

(6)用户组管理

保存用户组的文件是系统用户组文件“/etc/group” 和 用户组密码文件 “/etc/gshadow”。
/etc/group :
user1 :x :500 :
字段一:用户组名称
字段二:组密码,x表示存放在gshadow文件中,为空表示不用密码

字段三:GID,组号
字段四:用户列表,多个用户使用逗号分隔
/etc/gshadow:
root :::root
字段一:用户组名称
字段二:用户组密码,加密后字符串

字段三:用户组管理员,多个用逗号分隔
字段四:组成员列表,多个用逗号分隔
添加用户组:
groupadd groupname
删除用户组:
groupdel groupname
用户组管理:
系统用户文件中指定的用户组为用户的私有组,用户组文件中为用户指定的组为用户附加组。用户创建文件默认使用用户的私有组作为文件属组。
usermod [-g 将用户的私有组改变为指定组 G 为用户添加过个附加符,逗号分隔 a 将用户以追加的方式添加到一个附加组] username

2、权限管理

默认情况,系统会分给用户所在的组成员一些权限,属组权限,如果用户是多个组的成员,那么系统会使用用户文件“/etc/passwd”中保存的私有组。

(1)改变属主和属组

chown [-R 递归作用到目录中的所有文件] user:group file/dir

chown [-选项] 账户名 文件名或目录名

普通用户不能将自己的文件传递给其他用户,只能是文件属主和root使用。

(2)改变属组

chgrp [-R 递归作用所有文件] group filename/dir
只能是文件属主和root使用。一般使用chown也可以改变文件属组,更多使用chown命令。

(3)文件权限

符号模式:r w x
绝对模式(掩码):001(1) 010(2) 011(3) 100(4) 101(5) 110(6) 111(7)
文件权限管理:
chmod [-R 递归作用] [mode] file
mode1: 754

chmod [-选项] xyz 文件名或目录名

mode2: u/g/o/a +/-/= r/w/x



权限掩码:用来确定用户创建的文件的默认权限,使用umask查看和设置,用户新建文件的默认权限是用 666 减去umask值得到的结果即为默认权限。
umask 022 #修改umask的值
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: