#!/bin/bash # desc: 此腳本用來創建用戶,並設置成公鑰登陸. # author:[email protected] # date: 2015-06-18 # 設置環境變量 PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin export PATH #輸入需要創建的用戶名 read -p "Input the user name:" username #確認是否上傳相應的文件 read -p "Do you upload user public key file(e.g. xumin.pub) to home directory before excute this script? (y or n):" fileflag if [ "$fileflag" != "Y" ] && [ "$fileflag" != "y" ]; then echo "please upload user public key file(e.g. xumin.pub) to home directory.\n" exit 2 fi echo "start setting....... \n" #檢查公鑰文件是否已經上傳 filepath=~/$username.pub if [ -f $filepath ];then echo "$filepath 文件存在!" else echo "$filepath 文件不存在或者您輸入的路徑有誤" exit 3 fi #新增用戶組 groupadd $username if [ $? == 0 ];then echo "group add success\n" else exit 4 fi #新增用戶並自動建立文件夾和初始配置,設置個密碼 useradd -g $username -d /home/$username $username if [ $? == 0 ];then echo "user add success\n" else exit 5 fi #設置初始密碼 echo "123" | passwd --stdin $username #新建ssh文件目錄 mkdir /home/$username/.ssh #把公鑰改名放到對應的地方 mv ~/$username.pub /home/$username/.ssh/authorized_keys #修改文件夾權限及文件權限 chown -R $username.$username /home/$username/.ssh chmod 700 /home/$username/.ssh chmod 644 /home/$username/.ssh/authorized_keys #改sudoer配置,加入sudoer chmod 777 /etc/sudoers echo "$username ALL=(ALL) ALL">>/etc/sudoers #權限改回去 chmod 440 /etc/sudoers echo "end setting....... \n" #刪除用戶並刪除其主目錄 #userdel -r $username
修改公鑰
#!/bin/bash # desc: 此腳本用來修改用戶登陸公鑰 # author:[email protected] # date: 2015-06-18 # 設置環境變量 PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin export PATH #輸入需要創建的用戶名 read -p "Input the user name:" username #確認是否上傳相應的文件 read -p "Do you upload user public key file(e.g. xumin.pub) to home directory before excute this script? (y or n):" fileflag if [ "$fileflag" != "Y" ] && [ "$fileflag" != "y" ]; then echo "please upload user public key file(e.g. xumin.pub) to home directory.\n" exit 2 fi echo "start changing....... \n" #檢查公鑰文件是否已經上傳 filepath=~/$username.pub if [ -f $filepath ];then echo "$filepath 文件存在!" else echo "$filepath 文件不存在或者您輸入的路徑有誤" exit 3 fi rm -rf /home/$username/.ssh/authorized_keys #把公鑰改名放到對應的地方 mv ~/$username.pub /home/$username/.ssh/authorized_keys #修改文件夾權限及文件權限 chown -R $username.$username /home/$username/.ssh chmod 700 /home/$username/.ssh chmod 644 /home/$username/.ssh/authorized_keys echo "end changing....... \n" #刪除用戶並刪除其主目錄 #userdel -r $username