rm
rm -d:直接把欲删除的目录的硬连接数据删除成0,删除该目录;
rm -f:强制删除文件或目录;
rm -i:删除已有文件或目录之前先询问用户;
rm -r或-R:递归处理,将指定目录下的所有文件与子目录一并处理;
二、使用命令行展开功能,创建/tmp/a1, /tmp/a2, /tmp/a1/a, /tmp/a1/b,在/tmp目录下创建目录:x_y, x_z, q_y, q_z
mkdir -p /tmp/{a1/{a,b},a2}
mkdir -p /tmp/{x,q}_{y,z}
三、文件的元数据信息有哪些,分别表示什么含义,如何查看?如何修改文件的时间戳信息。
元数据描述一个文件的特征的系统数据,包含文件大小、权限、所有者、时间戳等。
使用stat命令显示文件元数据,文件属性信息均可看到
使用touch命令可以修改文件的时间戳信息
touch -a 修改“读取时间”(atime)
touch -m修改“修改时间”(mtime)
touch -d 同时修改atime与mtime
四、在/data目录下创建以tfile开头,后跟当前日期和时间的文件,文件名形如:tfile-2016-05-27-09-32-22。
touch /data/tfile-date +"%Y-%m-%d-%H-%M-%S"
五、复制/etc目录下所有以p开头,以非数字结尾的文件或目录到/data/mytest1目录中。
cp -rp /etc/p*[^[:digit:]] /data/mytest1
六、创建用户tom,指定UID为5001,指定家目录为/data/tom, 指定shell为/bin/zsh, 指定基本组为tom,附加组为jack
useradd -u 5001 -d /data/tom -s /bin/zsh -g tom -G jack tom
七、常用的用户以及文件管理命令有哪些,并演示命令以及用法。
(1)/etc/passwd :用户及其属性信息( 名称、UID 、主组ID等)
每行文件内容由7个字段组成,用":"分隔,代表一个用户属性
getent passwd unername 查看指定用户属性信息
用户:密码占位符:用户ID:组ID:用户全名或注释:用户家目录:默认使用shell
vipw 功能和使用vi /etc/passwd一样,vipw可以检查语法格式
pwck 检查passwd文件格式
(2)/etc/shadow :用户密码及其相关属性
文件内容格式,9个字段,用":"分隔
账号:$6使用sha512加密密码:密码最近一次被更改的时间:密码再过几天可以被变更:密码再过几天必须被变更:密码过期前几天系统提醒用户:密码过期几天后帐号会被锁定:密码失效日期
如果密码位置用‘!‘占位,表示锁定用户,用户就不能登录
usermod -U username 解锁用户
usermod -L username 锁定用户
passwd username 修改用户密码
passwd -e username 设置不使用初始密码登录,登录后立即修改密码
change -d 0 username 设置立即修改密码
设置默认用户密码最大有效期 cat /etc/login.defs 修改PASS_MAX_DAYS的值为指定大小。
2.2新建用户相关文件
/etc/login.defs 设置用户帐号限制的文件(密码最大有效期、最小有效期、组ID范围、自动创建家目录等),但该文件里的配置对root用户无效
/etc/defaul/useradd 该目录在创建用户时默认分配用户的家目录、默认组、默认shell、是否建立邮箱等
/etc/skel/* 目录是用来存放新用户配置文件的目录,当我们添加新用户的时候,这个目录下的所有文件会自动被复制到新添加的用户的家目录下
newusers:批量创建用户
chpasswd:批量修改用户密码
假如要把一台服务器下的多个用户在另外一台服务器中创建出来,流程如下:
(1)把用户及其属性信息复制在user_list.txt文件中
(2)远程复制文件 scp user_list.txt ip:/data 把user_list.tx文件复制到ip/data目录下
newusers user_list.txt 批量创建用户
(3)创建完成后设置用户密码,把用户和密码保存在pass_list.txt文件,格式 username:password
(4)设置完密码后,批量修改用户密码 cat pass_list.txt | chpasswd
2.3用户管理命令
2.3.1useradd
useradd [options] username
-u 指定UID,如果不指定,默认系统分配
-o 配合-u选项,不检查UID的唯一性,创建uid相同的用户(一般不推荐用一样uid的不同用户)
-g 指定GID :指明用户所属基本组,可为组名,也可以GID
-c "COMMENT" :设置用户的注释信息
-d HOME_DIR: 以指定的路径(不存在时自动创建)为家目录
-s SHELL : 设置用户的默认shell 程序,可用列表在/etc/shells 文件中
-G GROUP1[,GROUP2,...] :为用户指明附加组,组须事先存在
-N 不创建私用组做主组,使用users 组做主组
-r: 创建系统用户 CentOS 6: ID<500 ,CentOS 7: ID<1000,默认不创建家目录
-m 强制创建家目录,用于系统用户
-M 不创建家目录,用于非系统用户
实例:创建用户lisi ,附加组为zhang和root 默认shell为/bin/csh ,注释信息为"Lisi Distribution"
2.3.2usermod
usermod [options] username
-u UID: 新UID
-g GID: 新 主 组
-G GROUP1[,GROUP2,...[,GROUPN]]] :新附加组,原来的附加组将会被覆盖;若保留原有,则要同时使用-a 选项
-s SHELL :新的默认SHELL
-c ‘COMMENT‘ :新的注释信息
-d HOME: 新家目录不会自动创建;若要创建新家目录并移动原家数据,同时使用-m 选项
-l login_name: 新的名字;
-L: lock 指定用户, 在/etc/shadow 加密码栏的增加!(锁定用户)
-U: unlock 指定用户,将/etc/shadow的密码栏的!拿掉(解锁用户)
-e YYYY-MM-DD: 指明用户账号过期日期
-f INACTIVE: 设定非活动期限
2.3.3userdel
userdel [options] username
-r 删除用户家目录
2.3.4查看用户ID 信息
id [OPTION]... [USER]
-u: 显示UID
-g: 显示GID
-G: 显示用户所属的组的ID
-n: 显示名称,需配合ugG
2.3.5切换用户
切换用户的方式:
(1)su username 非登录式切换,即不会读取目标用户的配置文件,也不改变当前工作目录
(2)su - UserName :登录式切换,会读取目标用户的配置文件,切换至家目录,完全切换,相当于使用该用户登录
(3)root su 至其他用户无须密码;非root用户切换时需要密码
(4)su [-] UserName -c ‘COMMAND‘ 切换用户执行命令,执行完返回之前用户
说明:exit 使用完后切换回原来的用户
2.3.6设置用户密码
passwd [OPTIONS] UserName: 修改指定用户的密码,仅root用户有权限修改普通用户密码
passwd: 修改自己的密码
常用选项:
-l: 锁定指定用户
-u: 解锁指定用户
-e: 强制用户下次登录修改密码
-n mindays: 指定最短使用期限
-x maxdays :最大使用期限
-w warndays :提前多少天开始警告
-i inactivedays :非活动期限
--stdin :从标准输入接收用户密码 echo " PASSWORD " | passwd --stdin USERNAME
echo centos | passwd --stdin sarah 把sarah的密码设置为centos
2.3.7修改用户密码策略
chage [OPTION]... username
-d LAST_DAY
-E --expiredate EXPIRE_DATE
-I --inactive INACTIVE
-m --mindays MIN_DAYS
-M --maxdays MAX_DAYS
-W --warndays WARN_DAYS
–l 显示密码策略
原文:http://blog.51cto.com/14129694/2334326