Linux权限
一、用户权限
用户切换(su):
普通用户或超级用户:username@hostname$ 或者 root@hostname#
[christine@server01 ~]$
用户ID名christine,系统名server01,bash shell提示符是美元符号( $ )可以自行修改提示符
root用户切换:su;切换到用户ly_sw:su ly_sw -- su切换到root账户,exit退出
Linux系统使用了一个专门的文件(用户基本信息存放:/etc/passwd)
包含了如下内容:
登录用户名
用户密码(x并不代表密码,密码保存在另一个文件)
用户账户的UID(数字形式)
用户账户的组ID(GID)(数字形式)
用户账户的文本描述(称为备注字段)
用户HOME目录的位置
用户的默认shell
现在,绝大多数Linux系统都将用户密码保存在另一个单独的文件中(叫作shadow文件,位置在/etc/shadow)
/usr/sbin/useradd -D -- 系统默认值被设置在/etc/default/useradd文件中:
新用户会被添加到GID为 100 的公共组;
新用户的HOME目录将会位于/home/loginname;
新用户账户密码在过期后不会被禁用;
新用户账户未被设置过期日期;
新用户账户将bash shell作为默认shell;
系统会将/etc/skel目录下的内容复制到用户的HOME目录下;
系统为该用户账户在mail目录下创建一个用于接收邮件的文件;
添加新用户test
useradd -m test
/usr/sbin/userdel -r test -- 删除用户(不加-r只删用户不删文件)
用户账户修改工具:
usermod 修改用户账户的字段,还可以指定主要组以及附加组的所属关系
passwd 修改已有用户的密码
chpasswd 从文件中读取登录名密码对,并更新密码
chage 修改密码的过期日期
chfn 修改用户账户的备注信息
chsh 修改用户账户的默认登录shell
添加用户组shared并将test用户加入(组信息存放:/etc/group)
/usr/sbin/groupadd shared
/usr/sbin/usermod -G shared test
修改组(-g修改GID,-n修改组名)
/usr/sbin/groupmod -n sharing shared
二、文件权限(chmod)
字段的第一个字符代表了对象的类型
- 代表文件
d 代表目录
l 代表链接
c 代表字符型设备
b 代表块设备
n 代表网络设备
之后有3组三字符的编码。每一组定义了3种访问权限:
r 代表对象是可读的
w 代表对象是可写的
x 代表对象是可执行的
-rwxrwxr-x 1 rich rich 4882 2010-09-18 13:58 myprog
- : 第一个字符代表文件
rwx :文件的属主(设为登录名rich)。
rwx :文件的属组(设为组名rich)。
r-x :系统上其他人(-代表没有放入可写权限)。
Linux文件权限码:
权 限 二进制值 八进制值 描 述
--- 000 0 没有任何权限
--x 001 1 只有执行权限
-w- 010 2 只有写入权限
-wx 011 3 有写入和执行权限
r-- 100 4 只有读取权限
r-x 101 5 有读取和执行权限
rw- 110 6 有读取和写入权限
rwx 111 7 有全部权限
符号模式改变权限
[ugoa…][[+-=][rwxXstugo…]
u 代表用户
g 代表组
o 代表其他
a 代表上述所有
现有权限基础上增加权限(+),现有权限基础上移除权限(-),或是将权限设置成后面的值(=)
rwx:略。
X :如果对象是目录或者它已有执行权限,赋予执行权限。
s :运行时重新设置UID或GID。
t :保留文件或目录。
u :将权限设置为跟属主一样。
g :将权限设置为跟属组一样。
o :将权限设置为跟其他用户一样。
chmod o+rw tmp -- tmp文件的其他用户增加读写权限
改变所属关系(root账户执行)
chown 命令用来改变文件的属主,chgrp 命令用来改变文件的默认属组
chown test tmp -- tmp属主改变成test
chown test.sharing tmp -- tmp属主改变成test,属组改变成sharing
chown .sharing tmp -- 属组改变成sharing
chown test. newfile -- 属主和属组改成test
chgrp shared tmp -- 属组改变成shared
共享文件(等待...)
生活就要逢山开路遇水搭桥,愿共勉!