Điểm:0

Làm cách nào để tạo bí danh cho tất cả người dùng linux..?

lá cờ cn
root@puppetclient-ubuntu:/home/azureuser#cat /etc/.bash_aliases
  alias expand_shutdown_15='bash extension_shutdown.sh 15 ; bash /bin/max_timetrack.sh'
  alias expand_shutdown_30='bash expand_shutdown.sh 30 ; bash /bin/max_timetrack.sh'
  alias expand_shutdown_60='bash extension_shutdown.sh 60 ; bash /bin/max_timetrack.sh'

#thử tự động hóa và thực thi "nguồn /etc/.bash_aliases" thông qua tập lệnh shell nhưng nó không hoạt động có nghĩa là các thay đổi không có hiệu lực.

root@puppetclient-ubuntu:/home/azureuser# cat alias.sh
#!/bin/bash
nguồn ~/.bash_aliases

khi tôi làm nguồn /etc/.bash_aliases các lệnh tùy chỉnh bí danh chỉ khả dụng cho người dùng root và nó không khả dụng cho tất cả những người khác mong đợi "root" nếu tôi thực thi một lần thì nó sẽ luôn khả dụng cho tất cả người dùng. Xin hãy giúp tôi sửa chữa. Cảm ơn.

David avatar
lá cờ cn
Phiên bản nào của Ubuntu?
hariraj avatar
lá cờ cn
"PHIÊN BẢN="20.04.2 LTS (Fossa Fossa)"
lá cờ aq
Tại sao bạn tìm nguồn cung ứng trong `alias.sh` mà không phải trong .bashrc của người dùng?
Điểm:1
lá cờ cn

cách tiếp cận tiêu chuẩn trong Ubuntu là các bí danh được xác định và đầy đủ được kiểm soát bởi người dùng, không phải bởi quản trị viên. Có, một số bí danh mặc định được xác định khi tạo tài khoản, nhưng những định nghĩa này được thêm vào bí danh riêng tư .bashrc tập tin và do đó có thể bị xóa/thay đổi nếu người dùng thích như vậy.

Bạn có thể tùy chỉnh bí danh mặc định đi kèm với tài khoản mới bằng cách chỉnh sửa /etc/skel/.bashrc. Tập tin đó là mặc định .bashrc tập tin cho các tài khoản mới.

Kiểm soát các định nghĩa bí danh với tư cách quản trị viên

Thay vào đó, nếu bạn muốn kiểm soát, với tư cách quản trị viên, bí danh của những người dùng hiện tại, bạn có thể xác định những bí danh này trong tập lệnh mà bạn thêm vào /etc/profile.d. Tất cả các tập lệnh hiện có được thực thi bởi /etc/hồ sơ, toàn hệ thống Hồ sơ tập lệnh được thực thi trước khi người dùng riêng tư ~/.profile tập lệnh cho shell đăng nhập. Thích điều này hơn chỉnh sửa trực tiếp /etc/hồ sơ, bởi vì tệp sau do trình quản lý gói của bạn kiểm soát và có thể bị ghi đè trong lần cập nhật trong tương lai.

Xin lưu ý rằng một số người dùng có thể không thích bạn nếu bạn kiểm soát như vậy. Cũng nên biết rằng người dùng có thể phủ nhận bí danh mà bạn áp đặt cho họ bằng bí danh các lệnh riêng tư của họ .bashrc tập tin.

Điểm:0
lá cờ cn
raj

Đầu tiên, bí danh là tạm thời và hợp lệ chỉ dành cho Shell hiện đang chạy. Khi bạn chạy bí danh.sh tập tin, nó thực thi trong vỏ của chính nó, không phải trong trình bao mà nó được chạy từ đó. Vì vậy, các nguồn kịch bản ~/.bash_aliases (tại sao tập tin này chứ không phải /etc/.bash_aliases? Tôi nghĩ bạn muốn cái sau?), nhưng khi tập lệnh kết thúc, trình bao cũng thoát ra và bất kỳ bí danh nào có thể đã được xác định trong ~/.bash_aliases tập tin, họ đã biến mất.

Đó là sự khác biệt giữa đang chạy một kịch bản shell và tìm nguồn cung ứng nó. Nếu bạn chạy tập lệnh trình bao, thì tập lệnh đó sẽ chạy trong trình bao của chính nó, do đó, bất kỳ thay đổi nào đối với môi trường, bí danh và những điều tương tự được thực hiện trong tập lệnh đều không ảnh hưởng đến trình bao chính (trình bao mà tập lệnh được bắt đầu từ đó). Nhưng khi bạn lấy cùng một tập lệnh, nó sẽ thực thi trong vỏ hiện tại, vì vậy tất cả các thay đổi mà nó thực hiện vẫn tồn tại sau khi tập lệnh kết thúc (tất nhiên chúng sẽ tồn tại chừng nào trình bao còn tồn tại - nếu bạn thoát khỏi trình bao, tất cả các thay đổi sẽ biến mất trở lại).

Tính đến điều này, nếu bạn muốn bí danh từ tệp /etc/.bash_aliases để có sẵn cho bất kỳ người dùng nào Trong bất kỳ shell nào họ chạy, tệp phải được lấy từ /etc/bash.bashrc tập tin. Tệp này được thực thi bất cứ khi nào bất kỳ trình bao nào (từ bất kỳ người dùng nào) khởi động và thường được sử dụng để đặt môi trường ban đầu.

Vì vậy, nếu bạn thêm dòng sau vào cuối /etc/bash.bashrc (tất nhiên bạn phải root thì mới có thể chỉnh sửa file được):

nguồn /etc/.bash_aliases

bạn nên có được những gì bạn muốn.

Các bí danh.sh tập tin không cần thiết ở tất cả.

hariraj avatar
lá cờ cn
azureuser@puppetclient-ubuntu:~$ cat /etc/bash.bashrc nguồn /etc/.bash_aliases các thay đổi tự động không có hiệu lực trong hệ thống nhưng khi tôi thực hiện các thay đổi theo cách thủ công sẽ có hiệu lực "nguồn /etc/bash.bashrc" nhưng tôi không muốn thực hiện theo cách thủ công. Làm ơn giúp tôi..
raj avatar
lá cờ cn
raj
@hariraj `/etc/bash.bashrc` sẽ được thực thi tự động khi khởi động shell, tôi không biết tại sao lại không. Thay vào đó, có thể hệ thống của bạn được cấu hình để thực thi một số tệp khác. Bạn phải tìm tệp đó và chèn `source /etc/.bash_aliases` vào đó. Nếu bạn có cấu hình hệ thống không chuẩn, không ai có thể biết tệp nào đang thực sự thực thi ngoài bạn.
Điểm:0
lá cờ ca

Tôi nghĩ bạn chỉ cần đặt tệp alias.sh của mình vào /etc/profile.d

trong trường hợp của tôi /etc/profile.d/99-alias.sh nó chứa:

#Thêm bởi JP
bí danh du='du -h'
bí danh dfh='df -h | grep -v snap'

hoạt động cho mỗi lần đăng nhập.

hariraj avatar
lá cờ cn
Mình đã thêm như bạn gợi ý nhưng vẫn không được "con mèo /etc/profile.d/alias.sh alias expand_shutdown_15='bash expand_shutdown.sh 15;bash /bin/max_timetrack.sh' alias expand_shutdown_30='bash expand_shutdown.sh 30;bash /bin/max_timetrack.sh' alias expand_shutdown_60='bash expand_shutdown.sh 60;bash /bin/max_timetrack.sh'
hariraj avatar
lá cờ cn
các thay đổi tự động không được thực hiện nhưng khi tôi thực hiện thủ công như "bash /etc/profile.d/alias.sh" thì các thay đổi được thực hiện nhưng tôi không muốn thực hiện thủ công ...
jpbrain avatar
lá cờ ca
Xin vui lòng cho tôi biết những gì bạn đang cố gắng để đạt được? Ngoài ra, lệnh "bí danh" hiển thị gì sau khi bạn đặt tệp vào /etc/profile.d
hariraj avatar
lá cờ cn
Tôi đã thêm tệp "alias.sh" vào "/etc/profile.d/", vì vậy tôi muốn bí danh được tạo tự động cho tất cả người dùng trong hệ thống linux. Bây giờ khi tôi thực hiện lệnh "bí danh" trong người dùng root - không có bí danh nào được tạo mà tôi đã đề cập trong tệp alias.sh.
jpbrain avatar
lá cờ ca
Xin chào. làm thế nào để bạn đăng nhập vào người dùng root? bạn sử dụng lệnh nào để kiểm tra người dùng root?

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.