Lâu lâu mới viết bài, blog bắt đầu mọc rêu.
.
.
.
Bài viết được thực hiện trên:
Khi một user được tạo, user đó sẽ được gán một User ID (UID). Bash shell lưu trữ UID này trong biến "UID". Vậy để xác nhận xem script được chạy dưới quyền user nào, chỉ cần check $UID là ok.
Dễ dàng check được UID của user root là 0:
Một ví dụ ứng dụng đơn gia?n:
Tương tự User ID, tên user được bash shell lưu trữ trong biến $USER và $USERNAME.
.
.
.
Bài viết được thực hiện trên:
thanhnguyen@thanhnguyen:~$ lsb_release -ir
Distributor ID: Ubuntu
Release: 12.04
thanhnguyen@thanhnguyen:~$ bash --versionKhi chúng ta chạy một bash script, đôi lúc chúng ta cần tìm ra xem script có chạy với user root hay không... Vậy làm thế nào để biết được điều này?
bash --version
GNU bash, version 4.2.25(1)-release (i686-pc-linux-gnu)
Khi một user được tạo, user đó sẽ được gán một User ID (UID). Bash shell lưu trữ UID này trong biến "UID". Vậy để xác nhận xem script được chạy dưới quyền user nào, chỉ cần check $UID là ok.
Dễ dàng check được UID của user root là 0:
root@thanhnguyen:~# echo $UID
0
Một ví dụ ứng dụng đơn gia?n:
# Check script is being run by root user or not. if [[ $EUID -ne 0 ]]; then echo "This script must be run as root" exit 1 fiMở rộng:
Tương tự User ID, tên user được bash shell lưu trữ trong biến $USER và $USERNAME.
root@thanhnguyen:~# echo $USER
root
root@thanhnguyen:~# echo $USERNAME
root
cần phân biệt UID và EUID.
Trả lờiXóavà phiên bản bash thực hiện bài viết này, vì các biến này chỉ có ở một số phiên bản nhất định.
Xóa