通常作为一个应用程序的部署脚本,开始的第一项工作是为当前应用创建一个专用(dedicated)的用户和用户组。这个脚本很简单,这里贴一个参考样本:

  1. #!/bin/sh
  2. user=test_user
  3. group=test_group
  4. #create group if not exists
  5. egrep "^$group" /etc/group >& /dev/null
  6. if [ $? -ne 0 ]
  7. then
  8. groupadd $group
  9. fi
  10. #create user if not exists
  11. egrep "^$user" /etc/passwd >& /dev/null
  12. if [ $? -ne 0 ]
  13. then
  14. useradd -g $group $user
  15. fi

对于添加用户来说,我们还可以使用id命令来判断一个用户是否存在,这样建立一个用户的脚本可以这样写:

  1. #create user if not exists
  2. id $user >& /dev/null
  3. if [ $? -ne 0 ]
  4. then
  5. useradd -g $group $user
  6. fi

但是,使用id命令不能判断一个用户组是否已经存在!至于使用id -g $user只能给出一个已存在的用户所属的用户组是什么,并不能判断一个用户组是否已经存在,所以,为了使用脚本的处理方式统一,我们统一使用从/etc/group和/etc/passwd文件中进行查找的方式来判断一个用户组和用户是否存在!

最新文章

  1. mysql 主从单库单表同步 binlog-do-db replicate-do-db
  2. Jquery知识点
  3. Java集合中Map接口的使用方法
  4. java通过LinkedList实现堆栈和队列数据结构
  5. 输出流 写文件 文本 换行nextLine
  6. Java 单元测试(Junit)
  7. [改善Java代码]推荐使用枚举定义常量
  8. jquery获取复选框
  9. 不定高度实现垂直居中(兼容低版本ie)
  10. MySQL入门笔记(一)
  11. texmaker报错:could not start command 解决
  12. Linux学习笔记-Linux系统简介
  13. JavaScript(一):JavaScript简介
  14. ionic3 引入第三方库(jquery)
  15. project之chrome.exe
  16. python基础之if,while,for
  17. android读取xml文件来实现省份,城市,区的选择
  18. CodeForces - 597C Subsequences 【DP + 树状数组】
  19. UVALive 4670 Dominating Patterns (AC自动机)
  20. 网络学习笔记:TCP/IP连网和Internet

热门文章

  1. 使用gdb调试(转: http://www.cnblogs.com/luchen927/archive/2012/02/07/2339003.html)
  2. day06
  3. python logging模块使用
  4. Linux下设置静态IP和获取动态IP的方法
  5. wxpython线程安全的方法
  6. android 休眠唤醒机制分析(一) — wake_lock
  7. 【Oracle】windows默认共享的打开和关闭?
  8. Asteroids
  9. RUBY,玩玩~~~
  10. 足球3v3心得