Linux用户管理与文件权限实战——从入门到精通 一、创建新用户Linux通过useradd命令来创建新的用户账户。useradd命令使用系统的默认值以及命令行参数来设置用户账户。可以一次性创建新用户账户及设置用户HOME目录结构。创建新用户时需要加上-m参数这样会在添加新用户时为新用户的HOME目录里放置默认的系统文件/etc/skel下的文件。sudo useradd -m username创建完成后可以查看/etc/passwd文件确认用户是否存在cat /etc/passwd | grep username创建新用户后还需要设置密码sudo passwd username操作截图二、创建新组Linux通过groupadd命令来创建新的组账户。groupadd命令可在系统上创建新组。在创建新组时默认没有用户被分配到该组。sudo groupadd groupname创建完成后可以查看/etc/group文件确认组是否存在tail -5 /etc/group操作截图三、修改已有用户账户usermod命令用来修改已有用户账户。usermod可以在创建完新用户后修改用户信息。用法usermod [options] username常用参数-c 修改备注字段-e 修改过期日期-g 修改默认的登录组-l 修改用户账户的登录名-L 锁定账户使用户无法登录-p 修改账户的密码-U 解除锁定使用户能够登录-G 将用户添加进指定组例如将用户添加进指定组sudo usermod -G groupname username操作截图四、修改组账户信息groupmod命令用来修改组账户信息。groupmod -g [new GID] [old GID] 命令可以修改已有组的GID。groupmod -n [new name] [old name] 命令可以修改已有组的组名。sudo groupmod -n newgroup oldgroup操作截图五、文件权限的三个安全等级每个文件都有三个安全等级文件的属主、属组以及其他用户。使用ls -l命令可以查看文件或目录的权限信息ls -l filename第一字段的第一个字符代表了文件对象的编码类型代表文件d 代表目录l 代表链接c 代表字符型设备b 代表块设备之后有3组三字符的编码分别对应三个安全等级第一组文件属主的权限第二组文件属组的权限第三组其他用户的权限每一组定义了3种访问权限r 代表对象是可读的w 代表对象是可写的x 代表对象是可执行的代表没有某种权限操作截图六、访问权限位的符号表示每个安全等级通过三个访问权限位来定义读取r、写入w以及执行x对应于符号rwx。权限的三种组合方式r-- 只有读取权限-w- 只有写入权限–x 只有执行权限rw- 有读取和写入权限r-x 有读取和执行权限-wx 有写入和执行权限rwx 有全部权限— 没有任何权限操作截图此处插入不同权限的展示截图七、八进制权限值符号权限通常以八进制值来描述。先获取这3个rwx权限的值将其转换成3位二进制值用一个八进制值来表示— 000 0 没有任何权限–x 001 1 只有执行权限-w- 010 2 只有写入权限-wx 011 3 有写入和执行权限r-- 100 4 只有读取权限r-x 101 5 有读取和执行权限rw- 110 6 有读取和写入权限rwx 111 7 有全部权限例如权限rwxr-xr-x对应的八进制值是755rw-r–r–对应的八进制值是644。操作截图八、chmod命令chmod命令用来修改文件和目录的安全设置。用法chmod [options] [mode] [file]八进制模式chmod 755 filenamechmod 644 filenameoptions的-R选项可以让权限的改变递归地作用到子文件和子目录上。chmod -R 755 directory符号模式chmod命令也可以在符号模式下指定文件权限。用法chmod [option] [u/g/o/a] [/-/] [rwx] filenameu 代表所有者userg 代表所属组groupo 代表其他用户othersa 代表上述所有用户all增加权限移除权限 设置权限chmod ux filenamechmod gw filenamechmod o-r filenamechmod ugorw filename九、chown和chgrp命令chown和chgrp命令可用来改变文件默认的所有者和所属组。chown命令chownchange owner命令用登录名或UID来指定文件的新属主。用法chown [options] [username:groupname] filenamechown username filename 只更改文件的所有者chown :groupname filename 只更改文件的所属组chown username:groupname filename 同时更改文件的所有者和所属组只有root用户才能够改变文件的所有者。chown -R username:groupname directorychgrp命令chgrp命令可以改变文件的所属组。chgrp groupname filename操作截图十、实现共享目录Linux系统上共享文件的方法是创建组并把其他用户放置在一个组中。这样这个组内所有成员享有同等的文件权限。实现共享目录的步骤第一步创建组sudo groupadd sharedgroup第二步将用户添加进组sudo usermod -G sharedgroup user1sudo usermod -G sharedgroup user2第三步创建共享目录mkdir /home/sharedsudo chown -R root:sharedgroup /home/shared第四步设置目录权限使组内成员可读写sudo chmod -R 770 /home/shared这样sharedgroup组内的所有成员都可以访问/home/shared目录中的文件。十一、知识框架总结用户和组管理useradd创建新用户账户groupadd创建新组账户usermod修改已有用户账户groupmod修改组账户信息文件权限三个安全等级属主、属组、其他用户三个访问权限位读取r、写入w、执行x八进制权限值0-7对应不同的权限组合权限修改命令chmod修改文件和目录的安全设置八进制模式和符号模式chown改变文件的所有者和所属组chgrp改变文件的所属组共享目录创建组将用户加入组修改目录所属组设置目录权限使组内成员可访问