1.用户和用户组管理
1.1 用户管理常用命令
1.用户账号添加命令useradd或adduser
命令格式:useradd [option] [username]
其中[option]为useradd命令选项,而[username]是要创建的用户名。执行该命令,将在系统做以下一些事情:
(1)在/etc/passwd文件中增添了一行记录
(2)在/home目录下创建新用户的主目录,并将/etc/skel目录中的文件拷贝到该目录中去
注:使用该命令后,新建的用户暂时无法登录,因为还没有为该用户设置口令,需要再用passwd命令设置口令后,才能登录。用户的UID和GID是useradd自动选取的,它是将/etc/passwd文件的UID加1,将/etc/group文件中的GID加1。
2.修改用户账号usermod
命令格式:usermod [option] [username]
注:
(1)最好不要用usermod修改密码,应为如果用该命令修改密码,则在文件/etc/passwd显示的为明码;
(2)不允许更改已登录用户的用户账号名称;
(3)当修改用户UID时,必须确认这个用户在电脑上没有可执行程序。
3.用户删除命令userdel
userdel命令非常简单,其只有一个可选项-r,如果在userdel加上-r选项,则在删除用户的同时也一并删除存储在/home目录下的该用户目录和文件。
示例:
1.2用户组管理常用命令
1.用户组添加命令groupadd
groupadd –g 666 xing1 #添加了一个GID为666的用户组xing1
2.用户组修改命令groupmod
groupmod –g 555 xing1 #将用户组xing1的GID修改为555
3.用户组删除命令groupdel
groupdel xing1
2.文件和目录权限管理
1.更改文件、目录权限命令chmod
命令格式:chmod [userType] [signal] [type] [filename]
用户类型 | 数学符号 | 文件类型 |
u 表示用户(user),即文件或目录的所有者 | + 添加某个权限 | r 可读 |
g 表示同组(group),即与文件属主同组的用户 | - 取消某个权限 | w 可写 |
o 表示其他(others)用户 | = 赋予给定权限并取消其他所有权限 | x 可执行 |
a 表示所有(all)用户。它是系统默认值 |
注意:chmod命令的不同参数之间要用逗号隔开。如:chmod u+x,g+w 123.txt
2.更改文件、目录属主命令chown
命令格式:chown [option] [owner] [filename]
3.查找文件目录find
命令格式:find [路径] [选项] [操作]
(1)路径是find命令所查找的目录路径,例如用.来表示当前目录,用/来表示系统根目录;
(2)选项用于指定查找条件,如:可以指定按照文件属主、更改时间、文件类型等条件来查找;
(3)操作用于指定结果的输出方式。
操作名称 | 意义 |
将匹配的文件输出到标准输出 | |
exec | 对匹配的文件执行该参数所给出的Shell命令。相应命令的形式为'command' { } \;,注意{ }和\;之间的空格 |
ok | 和-exec的作用相同,只不过以一种更为安全的模式来执行该参数所给出的Shell命令,在执行每一个命令之前,都会给出提示,让用户来确定是否执行 |
选项 | 意义 |
name | 根据文件名查找文件 |
perm | 根据文件权限查找文件 |
prune | 使用这一选项可以使find命令不在当前指定的目录中查找,如果同时使用-depth选项,那么-prune将被find命令忽略 |
user | 根据文件属主查找文件 |
group | 根据文件所属的用户组查找文件 |
mtime -n +n | 根据文件的更改时间查找文件,-n表示文件更改时间距今在n天之内,+n表示文件更改时间距今在n天前 |
nogroup | 查找无有效所属组的文件,即该文件所属的组在/etc/groups中不存在 |
nouser | 查找无有效属主的文件,即该文件的属主在/etc/passwd中不存在 |
-newer file1 ! file2 | 查找更改时间比文件file1新但比文件file2旧的文件 |
type | 查找某一类型的文件,type后跟的子选项及其意义如下: b:块设备文件 d:目录 c:字符设备文件 p:管道文件 l:符号链接文件 f:普通文件 |
size n:[c] | 查找文件长度为n块的文件,带有c时表示文件长度以字节计 |
depth | 在查找文件时,首先查找当前目录中的文件,然后再在其子目录中查找 |
示例:
查找/etc目录下以rc开头的普通文件类型,并对查找结果执行ls-l命令